Discussion:
Excel VBA steuer Aufgaben im Outlook
(zu alt für eine Antwort)
r***@a1.net
2008-03-30 01:06:33 UTC
Permalink
Ich hab folgendes Problem.

Ich möchte einen Produktionsplan in Excel machen und hier alle
Abgabetermine automatisch den firmeninternen Personen mittels Outlook
Aufgabe zuordnen.

In der Praxis schaut das so aus, in verschiedenen Excelzellen stehen
Datum um Uhrzeit der Aufgabenerinnerung sowie die E-Mail Adresse und
Text der Aufgabenzuordnung.

Ich hoffe es kann mir hier jemand helfen.

LG Richy
Stefan Anderl
2008-03-30 15:00:39 UTC
Permalink
<***@a1.net> schrieb im Newsbeitrag news:629743b4-10a0-4f62-b2af-***@59g2000hsb.googlegroups.com...
Ich hab folgendes Problem.

Ich möchte einen Produktionsplan in Excel machen und hier alle
Abgabetermine automatisch den firmeninternen Personen mittels Outlook
Aufgabe zuordnen.

In der Praxis schaut das so aus, in verschiedenen Excelzellen stehen
Datum um Uhrzeit der Aufgabenerinnerung sowie die E-Mail Adresse und
Text der Aufgabenzuordnung.

Ich hoffe es kann mir hier jemand helfen.

Versuche es so:


sub reminder_erzeugen()

Dim outlookvari As Object
Dim myitem As Object

Set outlookvari = CreateObject("Outlook.Application")
Set myitem = outlookvari.CreateItem(ololTaskItem)

myitem.duedate = sheets("Tabelle1).cells(22,2).value
'hier die gewünschten Eigenschaften des taskitems setzen, diese findet man
z.B im Objektkatalog.
'Ich habe hier als Beispiel das Fällogkeitsdatum aus einer Excel-Tabelle
geholt und in Outlook gesetzt.
...weitere Eigenschaften setzen

end sub

Wichtig: In Excel muß Outlook als Verweis definiert sein!

Stefan Anderl
r***@a1.net
2008-03-30 18:47:02 UTC
Permalink
Post by r***@a1.net
Ich hab folgendes Problem.
Ich möchte einen Produktionsplan in Excel machen und hier alle
Abgabetermine automatisch den firmeninternen Personen mittels Outlook
Aufgabe zuordnen.
In der Praxis schaut das so aus, in verschiedenen Excelzellen stehen
Datum um Uhrzeit der Aufgabenerinnerung sowie die E-Mail Adresse und
Text der Aufgabenzuordnung.
Ich hoffe es kann mir hier jemand helfen.
sub reminder_erzeugen()
Dim outlookvari As Object
Dim myitem As Object
Set outlookvari = CreateObject("Outlook.Application")
Set myitem = outlookvari.CreateItem(ololTaskItem)
myitem.duedate = sheets("Tabelle1).cells(22,2).value
'hier die gewünschten Eigenschaften des taskitems setzen, diese findet man
z.B im Objektkatalog.
'Ich habe hier als Beispiel das Fällogkeitsdatum aus einer Excel-Tabelle
geholt und in Outlook gesetzt.
...weitere Eigenschaften setzen
end sub
Wichtig: In Excel muß Outlook als Verweis definiert sein!
Stefan Anderl
Danke für die wichtigen infos. Leider weiß ich nicht wie ich den
Aufgabentext und die Aufgabenzuordnung an andere Personen eintragen
soll.

Wäre es möglich, hier eine genauere Anleitung zu bekommen!! mercy
vielmals richy
Stefan Anderl
2008-03-30 19:59:01 UTC
Permalink
Post by r***@a1.net
Post by r***@a1.net
Ich hab folgendes Problem.
Ich möchte einen Produktionsplan in Excel machen und hier alle
Abgabetermine automatisch den firmeninternen Personen mittels Outlook
Aufgabe zuordnen.
In der Praxis schaut das so aus, in verschiedenen Excelzellen stehen
Datum um Uhrzeit der Aufgabenerinnerung sowie die E-Mail Adresse und
Text der Aufgabenzuordnung.
Ich hoffe es kann mir hier jemand helfen.
sub reminder_erzeugen()
Dim outlookvari As Object
Dim myitem As Object
Set outlookvari = CreateObject("Outlook.Application")
Set myitem = outlookvari.CreateItem(ololTaskItem)
myitem.duedate = sheets("Tabelle1).cells(22,2).value
'hier die gewünschten Eigenschaften des taskitems setzen, diese findet man
z.B im Objektkatalog.
'Ich habe hier als Beispiel das Fällogkeitsdatum aus einer Excel-Tabelle
geholt und in Outlook gesetzt.
...weitere Eigenschaften setzen
end sub
Wichtig: In Excel muß Outlook als Verweis definiert sein!
Stefan Anderl
Danke für die wichtigen infos. Leider weiß ich nicht wie ich den
Aufgabentext und die Aufgabenzuordnung an andere Personen eintragen
soll.
Wäre es möglich, hier eine genauere Anleitung zu bekommen!! mercy
vielmals richy
Aufgabentrext ist wahrscheinlich myitem.body

Ansonsten habe ich das hier in der Hilfe gefunden:

Beispiel


In diesem Beispiel für Visual Basic für Applikationen (VBA) wird CreateItem
verwendet, um eine einfache Aufgabe zu erstellen und sie als Aufgabenanfrage
an einen anderen Benutzer zu delegieren. Wenn Sie dieses Beispiel fehlerfrei
ausführen möchten, ersetzen Sie "Dan Wilson" durch einen gültigen
Empfängernamen.

Sub AssignTask()
Dim myOlApp As New Outlook.Application
Dim myItem As Outlook.TaskItem
Dim myDelegate As Outlook.Recipient
Set MyItem = myOlApp.CreateItem(olTaskItem)
MyItem.Assign
Set myDelegate = MyItem.Recipients.Add("Dan Wilson")
myDelegate.Resolve
If myDelegate.Resolved Then
myItem.Subject = "Prepare Agenda For Meeting"
myItem.DueDate = Now + 30
myItem.Display
myItem.Send
End If
End Sub
r***@a1.net
2008-03-30 21:21:42 UTC
Permalink
On 30 Mrz., 21:59, Stefan Anderl
Post by Stefan Anderl
Post by r***@a1.net
Post by r***@a1.net
Ich hab folgendes Problem.
Ich möchte einen Produktionsplan in Excel machen und hier alle
Abgabetermine automatisch den firmeninternen Personen mittels Outlook
Aufgabe zuordnen.
In der Praxis schaut das so aus, in verschiedenen Excelzellen stehen
Datum um Uhrzeit der Aufgabenerinnerung sowie die E-Mail Adresse und
Text der Aufgabenzuordnung.
Ich hoffe es kann mir hier jemand helfen.
sub reminder_erzeugen()
Dim outlookvari As Object
Dim myitem As Object
Set outlookvari = CreateObject("Outlook.Application")
Set myitem = outlookvari.CreateItem(ololTaskItem)
myitem.duedate = sheets("Tabelle1).cells(22,2).value
'hier die gewünschten Eigenschaften des taskitems setzen, diese findet man
z.B im Objektkatalog.
'Ich habe hier als Beispiel das Fällogkeitsdatum aus einer Excel-Tabelle
geholt und in Outlook gesetzt.
...weitere Eigenschaften setzen
end sub
Wichtig: In Excel muß Outlook als Verweis definiert sein!
Stefan Anderl
Danke für die wichtigen infos. Leider weiß ich nicht wie ich den
Aufgabentext und die Aufgabenzuordnung an andere Personen eintragen
soll.
Wäre es möglich, hier eine genauere Anleitung zu bekommen!!  mercy
vielmals  richy
Aufgabentrext ist wahrscheinlich myitem.body
Beispiel
In diesem Beispiel für Visual Basic für Applikationen (VBA) wird CreateItem
verwendet, um eine einfache Aufgabe zu erstellen und sie als Aufgabenanfrage
an einen anderen Benutzer zu delegieren. Wenn Sie dieses Beispiel fehlerfrei
ausführen möchten, ersetzen Sie "Dan Wilson" durch einen gültigen
Empfängernamen.
Sub AssignTask()
        Dim myOlApp As New Outlook.Application
        Dim myItem As Outlook.TaskItem
        Dim myDelegate As Outlook.Recipient
        Set MyItem = myOlApp.CreateItem(olTaskItem)
        MyItem.Assign
        Set myDelegate = MyItem.Recipients.Add("Dan Wilson")
        myDelegate.Resolve
        If myDelegate.Resolved Then
                myItem.Subject = "Prepare Agenda For Meeting"
                myItem.DueDate = Now + 30
                myItem.Display
                myItem.Send
        End If
End Sub
wau, das war ein spitzen tipp ich bin meiner lösung ein ganzes stück
näher gekommen. kann mir noch jemand sagen, wie ich das wochenende
ausblenden kann. soll heißen fällt ein termin auf einen sam. oder son.
sollte der freitag eingetragen werden.

herzlichen dank für deine hilfe bis jetzt!!!!

lg richy
Stefan Anderl
2008-03-31 07:00:00 UTC
Permalink
Post by r***@a1.net
On 30 Mrz., 21:59, Stefan Anderl
Post by Stefan Anderl
Post by r***@a1.net
Post by r***@a1.net
Ich hab folgendes Problem.
Ich möchte einen Produktionsplan in Excel machen und hier alle
Abgabetermine automatisch den firmeninternen Personen mittels Outlook
Aufgabe zuordnen.
In der Praxis schaut das so aus, in verschiedenen Excelzellen stehen
Datum um Uhrzeit der Aufgabenerinnerung sowie die E-Mail Adresse und
Text der Aufgabenzuordnung.
Ich hoffe es kann mir hier jemand helfen.
sub reminder_erzeugen()
Dim outlookvari As Object
Dim myitem As Object
Set outlookvari = CreateObject("Outlook.Application")
Set myitem = outlookvari.CreateItem(ololTaskItem)
myitem.duedate = sheets("Tabelle1).cells(22,2).value
'hier die gewünschten Eigenschaften des taskitems setzen, diese findet man
z.B im Objektkatalog.
'Ich habe hier als Beispiel das Fällogkeitsdatum aus einer Excel-Tabelle
geholt und in Outlook gesetzt.
...weitere Eigenschaften setzen
end sub
Wichtig: In Excel muß Outlook als Verweis definiert sein!
Stefan Anderl
Danke für die wichtigen infos. Leider weiß ich nicht wie ich den
Aufgabentext und die Aufgabenzuordnung an andere Personen eintragen
soll.
Wäre es möglich, hier eine genauere Anleitung zu bekommen!! mercy
vielmals richy
Aufgabentrext ist wahrscheinlich myitem.body
Beispiel
In diesem Beispiel für Visual Basic für Applikationen (VBA) wird CreateItem
verwendet, um eine einfache Aufgabe zu erstellen und sie als Aufgabenanfrage
an einen anderen Benutzer zu delegieren. Wenn Sie dieses Beispiel fehlerfrei
ausführen möchten, ersetzen Sie "Dan Wilson" durch einen gültigen
Empfängernamen.
Sub AssignTask()
Dim myOlApp As New Outlook.Application
Dim myItem As Outlook.TaskItem
Dim myDelegate As Outlook.Recipient
Set MyItem = myOlApp.CreateItem(olTaskItem)
MyItem.Assign
Set myDelegate = MyItem.Recipients.Add("Dan Wilson")
myDelegate.Resolve
If myDelegate.Resolved Then
myItem.Subject = "Prepare Agenda For Meeting"
myItem.DueDate = Now + 30
myItem.Display
myItem.Send
End If
End Sub
wau, das war ein spitzen tipp ich bin meiner lösung ein ganzes stück
näher gekommen. kann mir noch jemand sagen, wie ich das wochenende
ausblenden kann. soll heißen fällt ein termin auf einen sam. oder son.
sollte der freitag eingetragen werden.
In Excel-VBA gibt es die Funktion =weekday(...), findet man in der Hilffe
ausführlich erklärt. Damit auswerten, was für ein Wochentag der eigentliche
Tag ist und ggfs. 1 oder 2 abziehen.

Hier im Forum findet sich auch Coding von mir zum Thema Feiertag, damit
könnte man auch diesen Fall abhandeln.

Stefan Anderl
Peter Schleif
2008-03-31 11:48:46 UTC
Permalink
Post by Stefan Anderl
Set myitem = outlookvari.CreateItem(ololTaskItem)
Wichtig: In Excel muß Outlook als Verweis definiert sein!
JFTR:
------
Der Verweis kann auch entfallen. Es reicht die direkte Angabe der
ol-Konstanten:

Set myitem = outlookvari.CreateItem(3)

Natürlich verliert man dadurch Outlook-IntelliSense. Andererseits
spart man sich den Hinweis auf den Verweis bei der Weitrgabe des Codes
per Mail oder im Usenet und vermeidet so *eine* mögliche Fehlerquelle.

0 olMailItem
1 olAppointmentItem
2 olContactItem
3 olTaskItem
4 olJournalItem
5 olNoteItem
6 olPostItem
7 olDistributionListItem

Peter
Stefan Anderl
2008-03-31 12:50:01 UTC
Permalink
Post by Peter Schleif
Post by Stefan Anderl
Set myitem = outlookvari.CreateItem(ololTaskItem)
Wichtig: In Excel muß Outlook als Verweis definiert sein!
------
Der Verweis kann auch entfallen. Es reicht die direkte Angabe der
Set myitem = outlookvari.CreateItem(3)
Natürlich verliert man dadurch Outlook-IntelliSense. Andererseits
spart man sich den Hinweis auf den Verweis bei der Weitrgabe des Codes
per Mail oder im Usenet und vermeidet so *eine* mögliche Fehlerquelle.
Hallo Peter, der Code, den ich gepostet habe, soll vor allem eine erste Hilfestellung für eigenes Probieren sein, weniger eine "out-of-the-box" Lösung. Mit dem Aktivieren des Verweises ist m.E. dem Kollegen deutlich mehr geholfen, da er wegen der frühen Bindung bereits im VBA-Editor von Excel die Eigenschaften und Methoden der Outlook-Objekte von Excel geliefert bekommt.
Peter Schleif
2008-03-31 13:14:54 UTC
Permalink
Post by Peter Schleif
Hallo Peter, der Code, den ich gepostet habe, soll vor
allem eine erste Hilfestellung für eigenes Probieren sein
So hatte ich es auch verstanden. Deshalb hatte ich ja auch *JFTR*
geschrieben. Es war eine Anmerkung/Ergänzung, *keine* Kritik.

Kritik sähe bei mir so aus: :-)
Post by Peter Schleif
Set myitem = outlookvari.CreateItem(ololTaskItem)
^^^^^^^^^^^^
Post by Peter Schleif
myitem.duedate = sheets("Tabelle1).cells(22,2).value
^^^

Peter

Loading...