Hallo,
ist es möglich per VBA Code bei einer bestimmten Bedingung in einem z.B. Word Document, eine Aufgabe bei einem Bestimmten User in Outlook einzurichten?
Vielen Dank im voraus
Udo
Hallo,
ist es möglich per VBA Code bei einer bestimmten Bedingung in einem z.B. Word Document, eine Aufgabe bei einem Bestimmten User in Outlook einzurichten?
Vielen Dank im voraus
Udo
z.B. so:
Public Function CreateOutlookTask(SDate, Optional EDate, \_
Optional Subject = "", Optional Body = "")
Dim myOlApp As Object, aItm As Object, isOpen As Boolean
On Error Resume Next
Set myOlApp = GetObject(, "Outlook.Application")
isOpen = False
If Err = 0 Then
isOpen = True
Else
Err.Clear
On Error GoTo Er
Set myOlApp = CreateObject("Outlook.Application")
End If
On Error GoTo 0
' Neue Aufgabe anlegen
Set aItm = myOlApp.CreateItem(3) ' olTaskItem
With aItm
.Subject = Subject
.Body = Body
.StartDate = CDate(SDate)
If Not IsMissing(EDate) Then .DueDate = EDate
.Save
End With
Ex:
On Error Resume Next
If isOpen Then Set myOlApp = Nothing
Exit Function
Er:
MsgBox "CreateOutlookTask: " & Err & " " & Err.Description
GoTo Ex
End Function
Gruß aus dem Norden
Reinhard Kraasch
Hallo Reinhard
Vielen Dank erst mal für die super schnelle Unterstützung,
aber…
ich bin zwar blutiger Anfänger in Sachen VBA möchte aber trotz dem diese Aufgabe irgendwie lösen,und nun komme ich leider mit deinem VBA Code nicht so ganz klar.
Ist es möglich diesen auf das nötigste zusammen zu streichen und einmal zu erläutern was wo gemacht wird?
vielen Dank noch einmal
Udo
Das Nötigste ist der Rumpf der Prozedur, also:
' Outlook starten:
Set myOlApp = CreateObject("Outlook.Application")
' Neue Aufgabe anlegen:
Set aItm = myOlApp.CreateItem(3) ' olTaskItem
' Subject und Datum eintragen
aItm.Subject = Subject
aItm.StartDate = CDate(SDate)
' speichern:
aItm.Save
Der restliche Code dient dazu, Outlook nicht mehrfach zu starten und der Fehlerbehandlung (ist deshalb nicht überflüssig).
(Derart komplexe Aufgabestellungen erfordern schon einiges an VBA-Kenntnissen - speziell auch Kenntnis des Outlook-Objektmodells!)
Gruß aus dem Norden
Reinhard Kraasch
Hallo Reinhard
Das ist genau das was ich suche und schon seit ewigkeiten anteste.
Jetzt aber noch ein kleiner Zusatz den Du wahrscheinlich aus der ersten Anfrage nicht raus gelesen hast.
Ich möchte diese Aufgabe nicht nur bei mir sondern auch noch bei anderen Usern im Netzwerk eigetragen haben.
-geht das ???-
Noch mal super vielen Dank für die super schnelle Hilfe,
und ich versprech auch, ich werde üben, üben, üben, …
Udo
Da bin ich jetzt ein wenig überfragt - es hängt aber auch davon ab, wie du auf die anderen Benutzer zugreifen willst - hast du deren Ordner in deinem Outlook im Zugriff (dann müsste man sich über die Ordnerhierachie durchhangeln - wobei das dann aber wohl sehr spezifisch wird…) Ansonsten müsste man wohl eher eine Aufgabenanfrage für die anderen Benutzer erstellen…
Gruß aus dem Norden
Reinhard Kraasch
Hallo Reinhard
wie Du an der Uhrzeit siehst bin ich noch heftig am üben.
Also über eine Anfrage ist völlig in Ordnung, ich will ja nicht hacken.
Es würde auf ausreichen, dieses per Mail zuversenden wo die anderen die Möglichkeit haben diese Aufgabe mit der Mail zu löschen oder einzurichten.
Udo
Das geht so:
Set aItm = myOlApp.CreateItem(3) ' olTaskItem
With aItm
.Assign
.Recipients.Add "Hein Meier"
.Subject = "was auch immer"
.Body = "usw. usw."
.StartDate = #2001-12-12#
.DueDate = #2001-12-14#
.Save
.Send
End With
Gruß aus dem Norden
Reinhard Kraasch
Hi Reinhard
ich kann nur mal wieder Danke sagen, echt spitze, genau daran habe ich seit ewiger Zeit gekämpft.
Udo
Noch mal Hallo Reinhard,
es tut mir leid das leidige Thema noch mal anzuschneiden.
Ich habe mal auf diese Art eine Aufgabenanfrage in die Firma geschickt.
Da kam das „reine“ Mail an. Nur geschrieben.
Es wurde kein Eintrag bei Aufgaben erstellt und/oder auch keine Möglichkeit dieses aus der Mail heraus manuell zu tun.
Haben wir uns vielleicht doch falsch verstanden oder ist das gar nicht machbar was ich vorhabe?
Ich möchte wenn ich mein Document z.B. Schließe oder einen Button drücke (das kriege ich noch hin) eine Aufgabe bei einem anderen User (Rechner) hinterlegen das dieser weiss das er an dieser Stelle an dem Auftrag weiter machen muss, und dieses per Mausklick oder Button oder Bestätigung in seine Aufgaben übernehmen kann.
Mir schwebt hier das Prinzip der Besprechungsanfrage wo der andere User mit Annehmen - Ablehnen - unter Vorbehalt - auswählen kann.
währe nett wenn Du mir noch mal helfen würdest.
Udo
Der angegebene Code richtet eine Aufgabenanfrage in Outlook ein, genauso, wie du sie von Hand eingeben würdest (solltest du im Outlook-Ausgangskorb sehen - wenn nicht, lass mal das .Send weg).
Probier doch mal eine manuell erstellte Aufgabenanfrage aus - wenn die auch nicht geht, hast du ein prinzipielles Problem. Ich jedenfalls hab den Code in meinem Netz hier (mit Outlook 2000) getestet.
Ob und wie Aufgabenanfragen im Netz verarbeitet werden können, hängt von allem Möglichen ab (z.B., ob Outlook überhaupt bzw. welche Versionen von Outlook auf den Clients vorhanden sind).
Gruß aus dem Norden
Reinhard Kraasch
Hallo Reinhard
ich habe versucht bei mir eine Aufgabenanfrage manuell zu erstellen, geht nicht, aber …
im Netzwerk in der Firma funktioniert das, also muss es wie Du sagst ( schreibst ) mit meiner Outlook Einstellung zusammen hängen.
Udo