Я создал несколько категорий почты, идентичных ключевым словам, которые появляются в связанных письмах, и хотел бы, чтобы категории автоматически применялись к ним. Конечно, я мог вручную создавать фильтры для каждой категории в отдельности, но это довольно утомительная задача, которую я должен был бы помнить, повторяя каждый раз, когда я создаю новую категорию.

Поэтому я хотел бы знать, как настроить Outlook (в настоящее время 2007, хотя обновление до 2010 года должно произойти в ближайшее время) таким образом, чтобы

for each incoming mail:
    for each category:
        if the mail (header or body) contains the category:
            assign that category to the mail

1 ответ1

0

Создайте следующий макрос и используйте его в качестве фильтра для всей входящей почты:

Sub CategorizeByKeywords(Item As Outlook.MailItem)
    Dim objCats As Categories
    Dim objCat As Category

    Set objCats = Application.GetNamespace("MAPI").Categories

    If objCats.Count > 0 Then
        For Each objCat In objCats
            If (InStr(Item.Subject, objCat.Name) > 0) Or _
              (InStr(Item.Body, objCat.Name) > 0) Then
                If Item.Categories = Null Then
                    Item.Categories = objCat.Name
                Else
                    Item.Categories = objCat.Name & "," & Item.Categories
                End If
            End If
        Next
    End If

    Item.Save
End Sub

Sub CategorizeSelectedMessages()
    Dim objItem As Outlook.MailItem
    For Each objItem In Application.ActiveExplorer.Selection
        Call CategorizeByKeywords(objItem)
    Next
End Sub

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