Als ich in meinem neuen Job anfing, wollte ich mir natürlich sofort meine GTD-Werkzeuge einrichten. Dazu gehört auch, dass Mails, die von mir im CC an mich geschickt werden, in den Ordner @WARTEN verschoben werden. Per Filter war das kein Problem. Schwieriger wurde es da schon, diese Mails in Outlook 2000 als gelesen zu markieren. Google verriet mir, dass das in Outlook 2000 standardmäßig nicht über eine Regel möglich ist. Daher war ich gezwungen, ein Makro hierzu zu erstellen.
Dies geschah über die Menüeinträge Extras => Makro => Visual-Basic-Editor. Dort wählte ich links im Dropdown-Menü Application aus und erzeugte rechts eine neue Methode beim Ereignis NewMail. Diese ersetzte ich mit folgendem Code:
Private Sub Application_NewMail()
Dim oOutlook As Object
Dim oNSpace As Object
Dim oFolderA As MAPIFolder
Dim oItem As MailItem
Dim i As Integer
Dim j As Double
'1 Sekunde warten (bis Mail durch Regel im Ordner landet
j = Timer
Do While Timer < j + 1 'Sekunden
DoEvents
Loop
'Weg zum Ordner finden
Set oOutlook = CreateObject("Outlook.application")
Set oNSpace = oOutlook.GetNamespace("MAPI")
Set oFolderA = oNSpace.Folders("Postfach - oberster Ordner im Outlook").Folders("Posteingang").Folders("@WARTEN")
'Alle Elemente im Ordner als gelesen markieren, falls welche vorhanden sind
If (oFolderA.UnReadItemCount > 0) Then
For i = 1 To oFolderA.Items.Count
oFolderA.Items(i).UnRead = False
Next i
End If
End Sub
Damit wurde die einkommende Mail nach einer Sekunde als gelesen markiert. Ehrlich gesagt, werden alle Mails im Ordner als gelesen markiert, aber das sind Details ...
Was mich dann allerdings noch störte, war die Benachrichtigung im System-Tray (rechts in der Ecke), dass ich eine neue Nachricht habe. Um sie loszuwerden, überlegte ich mir, was ich normalerweise per Maus täte, um sie auszublenden. Ich würde einfach die besagte Mail kurz öffnen und wieder schließen, um ein Lesen vorzutäuschen. Das habe ich anschließend ebenfalls per VBA umgesetzt und unten an die Methode angehängt:
'Falls mindestens ein gelesenes Objekt und kein ungelesenes im Posteingang liegt, wird das oberste angeschaut, um die Benachrichtigung bei neuen Nachrichten zu deaktivieren
If (oNSpace.Folders("Postfach - wieder der oberste Ordner").Folders("Posteingang").UnReadItemCount = 0) Then
oFolderA.Items(1).Display
oFolderA.Items(1).Close (False)
End If
Als ich dann noch die Sicherheitseinstellungen für Makros herabgesetzt hatte (Extras => Makro => Sicherheit => Hoch), konnte ich damit beginnen, nachverfolgbare Mails zu verschicken.
Kommentar (1)
Aufgenommen: Nov 19, 10:13