June 5th, 2016

Цепочки писем (беседы) в Outlook

В Outlook 2010 появилась возможность просматривать списки писем, используя представление "Беседы"(conversations). По-сути, это всем известные цепочки, появившиеся впервые в Gmail, однако есть досадный ньюанс: "беседы" группируют письма по наименованию, только если в тема письма начинается с "Re" или "Ответ".

Таким образом, "беседы" сносно работают для переписки, однако совсем не работают для почтовых рассылок.

Единственный способ исправления данной ситуации, который мне удалось придумать - это добавлять "Re:" в начало темы соответствующих писем при получении. Раньше я использовал для этого плагин Potolook, но, к сожалению проект более не развивается, и после перехода на Outlook 2016 снова встал вопрос, что же делать.

В итоге я решил задачу при помощи VBA-скрипта. Далее небольшая инструкция, как это повторить. Все действия производились на Outlook 2016, для более младших версий что-то можно незначительно отличаться.

Запускаем Outlook, нажимаем Alt+F11, попадаем в редактор VBA. Пишем простую функцию ([код]
Sub Re(Item As Outlook.MailItem)
    If Not (Item.Subject Like "Re:*") Then
        Item.Subject = "Re:" & Item.Subject
        Item.Save
    End If
End Sub


), добавляющую "Re:" в начало темы письма.



Создаем правило, в котором в действиях указываем, что необходимо использовать наш скрипт.



Не забываем задать ограничения на область применения правила (например перечислить адреса, с которых приходят рассылки).

Казалось бы - вот и всё. Однако правило не работает. Не работает из-за ограничений безопасности для макросов. Идем в Файл-Параметры-Центр управления безопасностью->Параметры центра управления безопасностью->Параметры макросов.
Включаем "Уведомления для всех макросов". Теперь будет работать, если каждый раз разрешать применение макроса. Это конечно, не удобно.



Чтобы избавиться от назойливых напоминаний, подпишем наш скрипт. На сайте microsoft есть описание создания само-подписанного сертификата: запускаем файл SELFCERT.EXE, который обычно находится в папке \Program Files\Microsoft Office\OFFICENN\, вписываем имя сертификата, нажимаем Ok.

Снова переходим в редактор VBA, Tools->Digital Signatnure, и подписываем скрипт. Чтобы не получить ошибку "Произошла ошибка при попытке подтверждения подписи проекта VBA. Макрос будет отключен"("An error occurred while attempting to verify the VBA project's signature. Macros will be disabled"), сохраняем макрос и выходим из Outlook, снова соглашаясь на сохранение макроса (тут обсуждался этот трюк).

Остается только вызвать применение правила и согласиться на добавление вашего сертификата в надежные издатели.



Теперь наслаждаемся цепочками в рассылках.