VBA Outlook: E-Mail als gelesen markieren

VBA - Visual Basic for Application

Der tägliche E-Mail-Wahnsinn kann manchmal schon erschöpfend sein. Da ist es gut, wenn man sich mit ein paar VBA-Makros, die Arbeit erleichtern und automatisieren kann. Ein Anwendungsfall kann sein, dass man eine oder mehrere E-Mails markiert hat und diese per VBA-Code in einem Schwung als gelesen markieren möchte.

Dieser Anwendungsfall wird selten “standalone” vorkommen. In den meisten Fällen wird es im Zusammenhang mit anderen Makros Verwendung finden, z.B. wenn man E-Mails als gelesen markieren möchte und dann die E-Mails automatisch in einen anderen Ordner verschieben möchte. Oder man will eine E-Mail automatisch per VBA-Makro beantworten und danach als gelesen markieren.

Makro E-Mail als gelesen markieren

Im nachfolgenden Bild und eingefügten Code sehen wir schon, wie klein und unscheinbar der Code ist.

Screenshot vom VBA-Editor mit dem Makro, welches die E-Mail als gelesen markiert
VBA-Code, um E-Mail als gelesen zu markieren
Option Explicit
'Nachricht als gelesen markieren
Sub MarkMsgAsRead()
    Dim olItem As Outlook.MailItem
    
    For Each olItem In Application.ActiveExplorer.Selection
        olItem.UnRead = False
    Next olItem
    
End Sub

Es gibt hier also eine Methode MarkMsgAsRead, welche dann aus Outlook heraus als Makro ausgeführt werden kann. Innerhalb der Methode wird ein olItem (outlookItem) als MailItem definiert. In einer For-Each-Schleife werden dann alle im Posteingang ausgewählten E-Mails durchlaufen. Um das MailItem nun als gelesen zu markieren, muss man die Eigenschaft “UnRead” den Wert “False” zuweisen.

Makro: E-Mail als ungelesen markieren

Das Ganze geht natürlich auch umgekehrt, sodass man bereits als gelesen markierte E-Mail als ungelesen markieren kann. Dazu einfach die Eigenschaft “UnRead” auf “True” setzen.

Option Explicit
'Nachricht als ungelesen markieren
Sub MarkMsgAsUnRead()
    Dim olItem As Outlook.MailItem
    
    For Each olItem In Application.ActiveExplorer.Selection
        olItem.UnRead = True
    Next olItem
    
End Sub

Hinweis

Ein Hinweis noch zum Abschluss: Sollte es bei der ersten Ausführung des Codes zu Fehlermeldungen kommen, einfach mal überprüfen, ob die richtigen Verweise/Bibliotheken ausgewählt sind. Diese findet man im Menü unter Extras ➔ Verweise.

Screenshot der notwendigen Verweise im VBA-Editor
erforderliche Libary unter Extras ➔ Verweise einstellen

Kommentar hinterlassen

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