13

Определенные вещи невозможны при использовании правил электронной почты по умолчанию, таких как поиск по темам или телам сообщений с подстановочными знаками. Вы можете сделать несколько слов, но это не то же самое, если вам нужны слова на расстоянии одного символа друг от друга. Как написать собственный код Visual Basic для приложений для фильтрации электронной почты Outlook?

1 ответ1

10

Я посмотрел высоко и низко для всех этих частей, необходимых для создания этого простого фильтра. Фильтры Unix procmail настолько просты в использовании. Все мастера Microsoft Outlook мешают простому фильтру с использованием подстановочных знаков. Хотя многие условия фильтрации электронной почты, которые Microsoft предоставляет по умолчанию, полезны, ничто не может сравниться с гибкостью и настройкой запуска кода.

  1. Напиши свой код.

Alt-F11 вызывает редактор кода VBA. Дважды щелкните по ThisOutlookSession. Напиши свой код. В моем случае он использует регулярное выражение в строке темы и перемещает его не в DefaultFolder, а в мой собственный pst в подпапке.

Sub filter(Item As Outlook.MailItem)
    Dim ns As Outlook.NameSpace
    Dim MailDest As Outlook.Folder
    Set ns = Application.GetNamespace("MAPI")
    Set Reg1 = CreateObject("VBScript.RegExp")
    Reg1.Global = True
    Reg1.Pattern = "(.*Abc.20.*)"
    If Reg1.Test(Item.Subject) Then
        Set MailDest = ns.Folders("Personal Folders").Folders("one").Folders("a")
        Item.Move MailDest
    End If
End Sub
  1. Запустите код для каждого входящего письма с правилом.

Под правилами выберите «Управление правилами и оповещениями ...». Новое правило будет выглядеть так

Apply this rule after the message arrives run Project1.ThisOutlookSession.filter

Чтобы получить это, для шага 1: выберите условия: просто нажмите "Далее". Подтвердите, что это относится ко всем сообщениям, нажав OK. В поле «Выберите действие (я)» установите флажок "запустить сценарий", затем щелкните, чтобы выбрать сценарий фильтра, и выберите "Далее" или "Готово". Для выбора исключений нажмите кнопку "Далее" или "Готово". Дайте ему хорошее имя, например, vba-filter, и установите флажок Включить это правило. нажмите Готово. Так как он работает с локальной папкой, нажмите OK, когда он попросит подтвердить, что это правило не будет работать для электронной почты, которую вы проверяете в Интернете или с другого устройства. Нажмите кнопку ОК в диалоговом окне "Правила и предупреждения".

  1. Outlook не нравится, когда макросы не подписаны. Чтобы самостоятельно подписать свои макросы, создайте сертификат и используйте его.

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