Versuche Folgendes:
Public Sub Mark_Unread_If_No_Category() Dim objNS As Outlook.NameSpace: Set objNS = GetNamespace("MAPI") Dim olFolder As Outlook.MAPIFolder: Set olFolder = objNS.GetDefaultFolder(olFolderInbox) Dim Item As Object For Each Item In olFolder.Items If Item.Class = 43 Then ' 43 = an email Dim oMail As Outlook.MailItem: Set oMail = Item If oMail.Categories = "" Then Debug.Print "Marking as unread: " & oMail.Subject oMail.UnRead = True oMail.Save End If Set oMail = Nothing End If DoEvents ' So Outlook doesn't lock up whilst running Next Set olFolder = Nothing Set objNS = Nothing End Sub
Ich weiß, dass es im Posteingang richtig aussieht und E-Mails ohne Kategorien richtig findet (dies Debug.Print
bestätigt). Ich habe jedoch nicht überprüft, ob diese E-Mails ungelesen werden.
Daher sollten Sie Ihren Posteingang sichern, bevor Sie dies versuchen.