Legen Sie die gelesene E-Mail als ungelesen fest, wenn keine Kategorie zugewiesen wurde

310
Danial Hanafian

Gibt es trotzdem eine Möglichkeit, dass Outlook die gelesene E-Mail, der keine Kategorien zugewiesen wurden, auf Ungelesen setzt?

1

2 Antworten auf die Frage

0
Richard

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.Printbestätigt). Ich habe jedoch nicht überprüft, ob diese E-Mails ungelesen werden.

Daher sollten Sie Ihren Posteingang sichern, bevor Sie dies versuchen.

Vielen Dank für die Antwort. Wie stellen Sie es so ein, dass es nur in einem bestimmten Ordner oder Posteingang ausgeführt wird? Danial Hanafian vor 6 Jahren 0
Wenn sich Ihr Ordner (zB "TPS Reports") in Ihrem Posteingang befindet, sollten Sie "objNS.GetDefaultFolder (olFolderInbox)" in "objNS.GetDefaultFolder (olFolderInbox) .Folders (" TPS Reports ")" ändern Richard vor 6 Jahren 0
0
thims

Das ist ganz einfach. Erstellen Sie einfach einen benutzerdefinierten Suchordner, benennen Sie ihn wie gewünscht (sagen Sie "Nicht kategorisiert"), wählen Sie die gewünschten Ordner aus und geben Sie die Kriterien auf der Registerkarte " Erweitert" wie folgt an:

Feld: Alle E-Mail-Felder -> Kategorien
Bedingung: ist leer

Klicken Sie auf Zur Liste hinzufügen und dann auf OK und dann auf OK.

Jetzt können Sie alle Nachrichten in diesem Ordner auswählen und als ungelesen markieren.