VBA: Outlook E-Mail Datum und Zeit auslesen

VBA - Visual Basic for Application

VBA ist sehr nutzvoll um tägliche, wiederkehrende Aufgaben zu automatisieren. Wenn man VBA im Rahmen von Microsoft Outlook einsetzt um die tägliche Arbeit mit den E-Mails zu vereinfachen oder um Formulardaten aus E-Mails mit einem Klick in eine Excel-Tabelle zu übertragen, dann kann es vorkommen, dass man auch mal das Datum und/oder die Zeit auslesen muss, wann man die E-Mail empfangen hat.

VBA-Code

Das ist sogar relativ einfach und mit wenigen Zeilen getan, wenn man erstmal das Mail-Objekt im VBA-Code zu Verfügung hat. Der zugehörige Visual Basic Code sieht wie folgt aus:

Sub TimeOfEMail()
    Dim objOL As Outlook.Application
    Dim objMsg As Outlook.MailItem
    Dim objSelection As Outlook.Selection
    Dim receivedDateTime As Date
    ' Outlook Application Objekt
    Set objOL = CreateObject("Outlook.Application")
    ' Collection der ausgewählten Objekte (E-Mails) ermitteln
    Set objSelection = objOL.ActiveExplorer.Selection
    'Erste ausgewählte E-Mail benutzen
    Set objMsg = objSelection.Item(1)
    receivedDateTime = objMsg.ReceivedTime
    'to something with DateTime Value
    Debug.Print receivedDateTime
End Sub

Im ersten Part geht es nur darum das richtige VBA-Objekt zu ermitteln, welches die E-Mail repräsentiert (objMsg). Wenn man das hat, ist es ganz einfach. Denn das MailItem-Objekt hat eine Eigenschaft namens “ReceivedTime“, welche das Datum und die Uhrzeit enthält. Über Debug.Print, wird es in diesem Fall im Konsolenfenster bzw. Direktfenster ausgegeben.

Screenshot VBA-Editor mit Code zum Auslesen des Empfangsdatum und der Empfangszeit einer E-Mail
Code und Ausgabe im Konsolenfenster

Wem die Standardausgabe nicht genügt, der kann das Empfangsdatum und die Empfangszeit noch formatieren mit der Format-Funktion. Das könnte dann wie folgt aussehen:

MyDate = Format(receivedDateTime, "dddd, mmm d yyyy")
' ergibt "Montag, Feb 27 2023"
Debug.Print MyDate

Weitere und genauere Informationen der verschiedenen Möglichkeiten Datum und Zeit formatiert auszugeben findet man in der Microsoft Dokumentation zur Format-Funktion.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert