edvjojo
Goto Top

Scriptlösung für Outlook 2007

Hallo zusammen

meine erste Frage an die VB-Spezis hier

In Outlook 2007 soll eine Aktion/Script verwendet werden, das bei verkauften Ebay-Auktionen den Mailempfänger rausliest

Mail wird immer mit "Herzlichen Glückwunsch, Ihr Artikel wurde verkauft" rausgesucht
Die Mail-Adresse steht immer vor dem String "[ Kontakt mit Käufer aufnehmen]"
und den Käufern eine immer gleiche PDF-Datei im Anhang zumailt.

Kann man das in VB oder so hinbekommen?

Danke für eure Tipps
jojo

Content-Key: 116518

Url: https://administrator.de/contentid/116518

Printed on: April 25, 2024 at 11:04 o'clock

Member: colinardo
colinardo May 21, 2009 at 09:25:38 (UTC)
Goto Top
Hallo jojo,

geht kein Problem solange eBay nicht Ihre Mails anders formatiert, dann sind wieder Anpassungen nötig.
Wenn du die Mails HTML-formatiert bekommst dann funktioniert unten stehendes Script, welches du im Outlook VBA Editor im Modul "ThisOutlookSession" einfügst.
Da der Mailbody ja HTML ist sucht das script nach dem ersten "mailto:" im Body.
Wenn du nun eine solche Mail im Posteingang hast , dann findet es diese, extrahiert die eMail und erstellt eine neue mit dieser als Empfänger. Das ganze sollte natürlich erweitert werden damit nach extrahieren und verschicken der Mail dieselbige in einen anderen Ordner verschoben wird damit bei einem erneuten durchlauf des Scripts der Empfänger nicht gleich noch eine Mail erhält.
Wenn du damit nicht zurecht kommen solltest kann ich dir eine individuelle Abfolge erstellen...

Das ganze kann man auch an das NewMail-Ereignis von Outlook hängen, so daß es jedes mal beim eintreffen neuer Nachrichten ausgeführt wird.

den Code zum Anhängen eines PDF's habe ich auch schon eingefügt aber noch auskommentiert damit du den Pfad zum PDF noch anpassen kannst und das Script beim Testen nicht hängenbleibt.

Sub ebayScript()
    Dim mail As Outlook.MailItem
    Dim inbox As Outlook.Folder
    str_subject_search = "Herzlichen Glückwunsch, Ihr Artikel"  
    str_body_search = "mailto:"  
    Set inbox = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)  
    For Each mail In inbox.Items
        If mail.Class = olMail Then
            If Left(mail.Subject, Len(str_subject_search)) = str_subject_search Then
                mailbody = CStr(mail.Body)
                pos_start = InStr(1, mailbody, str_body_search, vbTextCompare) + 7
                pos_mail_end = InStr(pos_start, mailbody, Chr(34), vbTextCompare)
                string_mail = Trim(Mid(mailbody, pos_start, pos_mail_end - pos_start))
                Dim newmail As MailItem
                Set newmail = Application.CreateItem(olMailItem)
                With newmail
                    .Subject = "Antwort auf Kauf"  
                    .To = string_mail
                    .Display
                    'Set Attachments = .Attachments  
                    'Attachments.Add ("c:\beispiel.pdf")  
                    .Display
                End With
            End If
        End If
    Next
End Sub

Bei Fragen stehe ich gerne Rede und Antwort
face-wink
Grüße Uwe
Member: edvjojo
edvjojo May 21, 2009 at 10:25:50 (UTC)
Goto Top
Besten Dank. Uwe

werde ich gleich mal ausprobieren.

Ist ja extrem schenll hier.
Nochmals DANKE

Jojo