Outlook VBA Wenn Mail eingeht, Eintrag in logfile vornehmen
Hi,
ich bin Studentin und mache gerade ein Paktikum und bräuchte mal eure Hilfe.
Ich kenn mich aber in Outlook gar net aus....
Folgendes Problem habe ich. Wenn eine Mail mit einem bestimmten Betreff eingeht, soll in eine Logfile ein Eintrag mit Datum Uhrzeit und Mailbetreff geschrieben werden.
Danach soll die Mail gelöscht werden.
Habt Ihr dazu eine Idee, wie ich das umsetzen kann?
Vielen lieben Dank schonmal vorab und lieb Grüße...
ich bin Studentin und mache gerade ein Paktikum und bräuchte mal eure Hilfe.
Ich kenn mich aber in Outlook gar net aus....
Folgendes Problem habe ich. Wenn eine Mail mit einem bestimmten Betreff eingeht, soll in eine Logfile ein Eintrag mit Datum Uhrzeit und Mailbetreff geschrieben werden.
Danach soll die Mail gelöscht werden.
Habt Ihr dazu eine Idee, wie ich das umsetzen kann?
Vielen lieben Dank schonmal vorab und lieb Grüße...
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 485465
Url: https://administrator.de/forum/outlook-vba-wenn-mail-eingeht-eintrag-in-logfile-vornehmen-485465.html
Ausgedruckt am: 23.05.2025 um 13:05 Uhr
2 Kommentare
Neuester Kommentar

Hierin findest du X Links mit 99% fertigem Code.
Emailinhalt mit NewMail bzw. NewMailEx auswerten
Der Rest sollte für eine Studentin die hoffentlich weiß wie man sich Stoff selbst beibringt kein Problem darstellen .
Sollst ja auch was lernen in deinem Praktikum
.
Emailinhalt mit NewMail bzw. NewMailEx auswerten
Der Rest sollte für eine Studentin die hoffentlich weiß wie man sich Stoff selbst beibringt kein Problem darstellen .
Sollst ja auch was lernen in deinem Praktikum
Servus @L3vl1AZ , willkommen auf Administrator.de!
Bitte Pfad zum Logfile und Subject-Filter in den Konstanten im Skriptkopf anpassen und das ganze in ThisOutlookSession oder diese DieseOutlookSitzung einfügen, nicht in ein Modul da ansonsten das Event nicht greift.
Das die Makrosicherheit angepasst werden muss sollte klar sein.
Grüße Uwe
Bitte Pfad zum Logfile und Subject-Filter in den Konstanten im Skriptkopf anpassen und das ganze in ThisOutlookSession oder diese DieseOutlookSitzung einfügen, nicht in ein Modul da ansonsten das Event nicht greift.
Das die Makrosicherheit angepasst werden muss sollte klar sein.
Option Compare Text
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
'Variablen
Dim varEntryIDs, objItem As Object
' Pfad zum Logfile
Const LOGFILE = "D:\logs\mail.log"
' Subject mit Wildcard Support auf welchen das Skript reagiert
Const SUBJECT = "*Test*"
' Filesystem Object erstellen
Set fso = CreateObject("Scripting.FileSystemobject")
' Entry IDs der eingetroffenen Mails in Array splitten
varEntryIDs = Split(EntryIDCollection, ",")
' Eingetroffene Mails durchlaufen
For i = 0 To UBound(varEntryIDs)
'Objekt holen
Set objItem = Application.Session.GetItemFromID(varEntryIDs(i))
With objItem
'wenn Objekt ein Mailitem ist
If .Class = olMail Then
' Wenn Betreff der Mail 'Test' enthält dann
If .Subject Like SUBJECT Then
' schreibe ins Logfile
fso.OpenTextFile(LOGFILE, 8, True).WriteLine .ReceivedTime & " : " & .Subject
' Mail als gelesen markieren ...
.UnRead = False
' ...und löschen
.Delete
End If
End If
End With
set objItem = Nothing
Next
set fso = Nothing
End Sub