1

Можно ли как-то заставить Outlook настроить прочитанное письмо, для которого не назначены категории, обратно непрочитанным?

2 ответа2

0

Это довольно просто. Просто создайте пользовательскую папку поиска, назовите ее по своему вкусу (скажем, "Не классифицируйте"), выберите нужные папки, укажите критерии на вкладке « Дополнительно » следующим образом:

Поле: Все почтовые поля -> Категории
Состояние: пусто

Нажмите Добавить в список, а затем ОК, ОК.

Теперь вы можете выбрать все сообщения в этой папке и пометить их как непрочитанные.

0

Попробуйте следующее:

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

Я знаю, что он правильно выглядит в папке «Входящие» и правильно находит электронные письма без категорий (Debug.Print подтверждает это), однако я не проверял, чтобы эти письма стали непрочитанными.

В результате вы должны сделать резервную копию своего почтового ящика, прежде чем начать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .