PDA

Vollständige Version anzeigen : E-Mail versenden, wenn Termin fällig ist.


Valdyn909
28.10.2003, 07:16
Guten Morgen liebe Forumsbesucher,

ich bin leider ein absoluter VBA-Laie und somit auf Eure Hilfe angewiesen.
Ich nutze beruflich Outlook2000 und würde gerne eine sonst recht aufwendige Arbeit automatisieren.

Erreichen würde ich dies mit einem Makro, welches bewirkt, dass wenn ein Termin in meinem Kalender fällig wird ein neues E-Mail-Fenster geöffnet wird.

Leider habe ich überhaupt keine Ahnung, wie ich das realisieren kann.

Ich wäre über jegliche Hilfe dankbar.

MfG,
Martin

MRR
28.10.2003, 08:57
Hi Valdy909,
wechsle in den VBA-Editor von OL, Zweig "DieseOutlookSitzung".
Dort gibst Du folgendes ein:

Dim WithEvents myolapp As Outlook.Application

Private Sub myolapp_MAPILogonComplete()
Initialize_handler
End Sub

Sub Initialize_handler()
Set myolapp = CreateObject("Outlook.Application")
End Sub

Private Sub myOLApp_Reminder(ByVal Item As Object)
Dim myReplyItem As Outlook.MailItem
If TypeName(Item) = "AppointmentItem" Then
Set myReplyItem = myolapp.CreateItem(olMailItem)
With myReplyItem
.Subject = "Erinnerung an " & Item.Subject & ", das um " & Item.End & " fällig wird"
.Body = "Hallo Sie!"
.Recipients.Add "Hugo.Tester@t-online.de"
.Display
End With
End If
End Sub

Beim Starten von OL wird die Initialisierung aufgerufen. Wenn dann eine Erinnerung aufpoppt, wird die Reminder-Prozedur wiederum gestartet. Dor erzeugen wir eine neue Mail und füllen Betreff und Text - oder was auch immer. Auch der Empfänger kann festgelegt werden.
HTH

Valdyn909
28.10.2003, 09:18
Hallo HTH,

super genial. :-)
Es funzt prima.

Jetzt würde ich Dich noch um eine Sache bitten.
Und das wird hoffentlich nicht zu schwierig. Für mich ist es das leider.

Der Betreff eines Termins sieht immer so aus:
Bsp.:
Media Markt - Hamburg
oder
Media Markt - München

Ich hätte jetzt gerne in Deinen Code eine Abfrage, dass wenn im Betreff "Hamburg" am Ende steht, die Mail an EMAIL1 geschickt wird, und wenn im Betreff "München" steht, dann soll ein neues Email-Fenster aufpoppen mit Email2 im "An"-Feld.

Kannst Du mir dabei noch helfen.

Vielen vielen Dank.

MfG,
Martin

MRR
28.10.2003, 12:02
Hi again,
1. Wenn schon Kürzel, dann bin ich MRR - ansonsten Matthias. (HTH steht für Hope this/that helps)
2. Wenn Hamburg, dann DIREKT (?) an einen bestimmten Adressaten verschicken? Mit welchem Betreff und welchem Mailinhalt?
3. Wenn München, dann einen Adressat eintragen, Betreff und Body füllen aber die Mail noch nicht senden, sondern nur anzeigen?

Nähere Erklärung erwünscht.

Valdyn909
28.10.2003, 12:12
Hallo Matthias,

das mit dem "HTH" war keine Absicht. Sorry. Ich denk das zeigt Dir, wie neu ich in diesem Forum bin. :-)

Also, folgendes:
Der Code, den Du mir geschickt hast funzt, wie schon erwähnt, echt klasse.
Allerdings müsste er noch etwas erweitert werden. Dieses Makro gilt nur für 4 Leute aus meiner Firma, könnte aber jedem 'ne 1/2 Stunde Arbeit pro Tag ersparen.

Und zwar werden viele viele Termine in Outlook hinterlegt.
Betreff ist eigentlich egal, aber als "Ort" gibt es nur zwei Möglichkeiten:
- Emmerthal
- Lüneburg

Nun soll eine Abfrage eingefügt werden, bei der wenn ein Termin fällig wird, der als Ort "Emmerthal" hat ein Email-Fenster geöffnet werden.
Hier soll automatisch schon als "An:" email1@adresse.de stehen.

Hat der Termin aber "Lüneburg" als Ort, so soll in dem Email-Fenster als "An:" email2@adresse.de stehen.

Ein vordefinierter Betreff, oder Body ist nicht nötig, nur die Email-Adresse.

Ich hoffe, dass ich mich jetzt verständlicher ausdrücken konnte.

Und wie gesagt...Sorry wegen der Anrede. Ich wussts nicht besser. :-(

Vielen Dank, dass Du Dich meinem Problem annimmst.

Gruß,
Martin

Valdyn909
28.10.2003, 12:29
Hallo Matthias,

vielleicht sollte ich Dir den Grund für die teils kopflosen Postings näherbringen.

Ich bin Azubi in einem relativ großen Chemie-Betrieb.
Von Programmieren hab ich wenig bis keine Ahnung und stehe nun vor einer Aufgabe, die (wie alle Aufgaben in einem Unternehmen) am besten schon gestern fertig gestellt sein sollte. Kennt man ja.

Da ich mit VBA in Outlook noch NIE gearbeitet habe und mir "der Chef" im Nacken sitzt, bin ich nun ein wenig übereifrig, was das Fragen-Posten angeht.

Ich hoffe Du hast Verständnis für meine Situation.

Gruß,
Martin

MRR
28.10.2003, 13:11
Hi Martin,
ist überhaupt keine Sache, Du brauchst Dich weder entschuldigen noch sonstwie Bedenken haben.
Wir bekommen es wahrscheinlich so hin:

Private Sub myOLApp_Reminder(ByVal Item As Object)
Dim myReplyItem As Outlook.MailItem
If TypeName(Item) = "AppointmentItem" Then
Set myReplyItem = myolapp.CreateItem(olMailItem)
With myReplyItem
If InStr(Item.Subject, "Emmerthal") > 0 Then
.Recipients.Add "email1@adresse.de"
ElseIf InStr(Item.Subject, "Lüneburg") > 0 Then
.Recipients.Add "email2@adresse.de"
End If
.Display
End With
End If
End Sub

Klappt es so?

Valdyn909
28.10.2003, 13:22
Hallo Matthias,

leider klappt es nicht. Es wird mir nur ein neues Email-Fenster geöffnet.
Allerdings ohne die Emailadressen in "An:"!

Hast Du vielleicht eine Idee woran das liegen könnte?

Gruß,
Martin

Valdyn909
28.10.2003, 13:30
Hallo Matthias,

es klappt..... *FREU*

Ich hab total übersehen, dass in Deinem Code "Subject" stand.
Ich hab es einfach gegen "Location" ausgetauscht und jetzt funktioniert es.

Das rettet mir den Tag!!!

Hab vielen, vielen Dank für Deine Hilfe!!!

Ich wünsch Dir noch einen schönen Tag!!!

Gruß,
Martin