Привет.

Сегодня научимся быстро добавлять комментарии к письмам в Microsoft Outlook.

Для чего?
Для удобства поиска нужных писем, для добавления своих заметок к письмам, для использования тегов.

Как?
С помощью небольшого кода Visual Basic for Application (далее будет инструкция).

«Немного истории» и «Какую проблему решаем?»

Долго работал с браузерной почтой Яндекс. Нравится внешний вид без тем оформления. Есть возможность распределения писем по папкам (+ вложенные папки). Объединение писем в диалоги. Метки (они же «теги»). Поиск писем по папкам и меткам одновременно. И еще куча разных мелочей. Одним словом, подходит для комфортной работы с почтой.

Правда, кое-что хотелось бы добавить.
Иногда в работе приходится искать письма 2-х, 3-х, и т.д.-летней давности. При этом не во всех письмах указана тема письма или есть текст письма. И иногда даже подписи в письме нет, и адрес отправителя ничего об авторе не говорит. А, например, вложение в письме полезное. Как его быстро найти? Также, бывают ситуации, когда нужно сделать небольшое пояснение для себя по поводу входящего письма.

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

В Яндекс-почте, например, это можно отчасти решить с помощью меток. Но делать метки на все случаи жизни только затруднит применение системы. У меня было настроено 48 меток, из которых, от силы, треть была в активной работе.

Пример меток в Яндекс-почте

В качестве альтернативы для Яндекс-почты я решил рассмотреть Microsoft Outlook 2016 с возможностями гибкой настройки программы.

Да, в Outlook есть возможность делать метки как в Яндексе — «Категории» — но, к сожалению, они не работают, если почта настроена по протоколу IMAP.

В принципе, сложностей в добавлении комментариев в Outlook нет. Но это возможно при отображении писем в табличной форме и при открытии полей писем для редактирования (адрес, тема и т.д.), что лично для меня не удобно. + цепочки писем не должны отображаться как беседы.

Отображение писем в таблице. До редактирования

«Случайно» редактируем тему письма

Поэтому сейчас научимся добавлять комментарии к письмам при сохранении привлекательного внешнего вида программы и при этом поля писем будут закрыты для  «случайного» редактирования.

Поехали!

Первое.

Настраиваем отображение и поле «Комментарий», в которое будем записывать нужную информацию.

Настраиваем отображение

1. Открываем вкладку «Вид».
2. Жмем «Настройка представления».
3. В появившемся окне жмем «Другие настройки».

Проверяем, настройки должны быть как на картинке ниже. Снимаем галочку с пункта «редактировать в ячейках», область чтения — справа, другие параметры — галочка на «компактный формат» или «всегда компактный формат». Жмем «ОК».

Окно «Другие настройки»

4. Жмем кнопку «Столбцы».

Окно добавления столбцов

5. В новом окне выбираем максимальное число строк 3.
6. В выпадающем списке выбираем «Поля пользователя…».
7. Нажимаем «Новый столбец…»
8. Появится окно «Новый столбец». Здесь пишем имя «Комментарий» и жмем «ОК». Значения «Тип» и «Формат» оставляем как «Текст».
8.5:) После нажатия кнопки «ОК» в окне «Отображение столбцов» в поле «Доступные столбцы:» появится только что добавленный пользовательский столбец «Комментарий». Выбираем его, потом нажимаешь кнопку справа «Добавить ->». Теперь в правом списке отображаемых столбцов появится еще слово «Комментарий».
9. Выделяем наше «Комментарий в правом списке и кнопками «Вверх» / «Вниз» располагаем его под полем «Тема». Жмем «ОК».

Что мы сделали? Добавили пользовательское поле/столбец с именем «Комментарий». Здесь будут отображаться все заметки, которые хотим добавить к письмам.

Поле «Комментарий» под полем «Тема»

Второе.

Теперь добавим код, который дает возможность добавлять комментарии к письмам. Код нужно будет вставлять в специальный «Модуль» (контейнер для кода), поэтому сначала получим к нему доступ.

Открываем редактор кода Visual Basic for Application — жмем Alt+F11. В окне редактора под пунктом меню «File» нажимаем на черный треугольник и в выпадающем списке выбираем «Module». Или рядом с пунктом меню «File» можно нажать пункт «Insert». Аналогично.

Добавляем модуль, в котором будет храниться наш макрос

Новый модуль добавится в дерево объектов (см. выше). 2 раза жмем на «Module1». Справа откроется пустое окно, туда вставляем код из окна ниже (со слов Sub test() до End Sub включительно):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Sub test()

Dim oMail As Object
Dim oUserProp As Outlook.UserProperty
Dim myPropField, commNew As String

myPropField = "Комментарий"

Set oMail = Application.ActiveExplorer.Selection.Item(1)

On Error Resume Next

commNew = InputBox("Enter comment")

Set oUserProp = oMail.UserProperties.Add(myPropField, olText, True)
oUserProp.Value = commNew
oMail.Save
Err.Clear

Set oMail = Nothing

End Sub

Сохраняемся:

Вставляем код макроса и сохраняемся

Третье.

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

Добавляем макрос на панель быстрого доступа

Жмем на треугольник и в выпадающем меню выбираем «Другие команды».

Настройка панели быстрого доступа

Появится окно настройки параметров Outlook с выбранной позицией настройки панели быстрого доступа (в окне слева смотри). Далее:

1. Выбираем из выпадающего списка пункт «Макросы».
2. Выбираем наш макрос «Проект1.test» и…
3. Нажимаем «Добавить > >».
4. В правом списке кнопками «↑» и «↓» можно перемещать наш добавленный макрос. Его положение повлияет на номер горячей клавиши, которой он будет вызываться в дальнейшем. Чуть позже об этом.
5. Жмем «ОК».

Теперь смотрим на панель быстрого доступа — там должен появиться вот такой значок (если вы не меняли его при настройке быстрого доступа):

Макрос добавлен

 

Четвертое.

Осталось немного. Тестируем результат.

Выбираем любое письмо (именно письмо; не беседу, если таковые имеются).

Выбираем письмо

Нажимаем левый Alt и смотрим на панель быстрого доступа. Рядом с иконкой макроса будет цифра (в нашем примере это будет 2). Если нажмем эту цифру (можно одновременно Alt+цифра нажимать), то сработает вызов макроса, появится окно, в которое можно будет ввести информацию и после нажатия «ОК» у выбранного письма появится введенный нами комментарий.

Добавляем комментарий

Комментарий добавлен

Готово!

Ограничения данного макроса

Как говориться, «есть нюанс…»

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

1. Не всегда получается добавить комментарий к беседе. Программа начинает ругаться и выдает ошибку. Поэтому применяем только к письмам (можно в составе беседы, но не к самой беседе).
2. При каждом вызове окна для добавления комментария в строке ввода будет пусто. Следовательно, если сразу нажать «ОК», то комментарий исчезнет.
3. По непонятным причинам нельзя подряд ввести 2 и более комментария к письму — информация не обновляется. Остается только первый. Решается так: ввели коммент, выбрали любое другое письмо, выбрали снова первое.
4. Поиск по комментариям не совсем удобный — нужно настраивать расширенный поиск писем, добавлять условия поиска и потом искать нужное письмо в таблице найденных писем.

 На этом пока все.

Скажи, тебе пригодилась бы такая возможность в работе — добавлять свои примечания к письмам? Выскажи мнение по всему этому поводу. Дай обратную связь;)

Автор: Овчинников Егор, 23/09/2017

Рубрики: Разное

14 комментариев

Сергей · 2 марта, 2018 в 08:59

Огромное спасибо !!! Все работает

Зоя · 6 июня, 2019 в 23:55

Скажите, пожалуйста, как удалить/отредактировать комментарий?
А так — да, всё работает

    urc · 13 июня, 2019 в 16:43

    Функция работает только в режиме перезаписи комментария.
    Т.е. если Вам нужно отредактировать, то придется вызвать макрос еще раз и заново набрать текст с изменениями, которые нужны.
    Если Вам нужно удалить комментарий, то вызывайте макрос и оставляйте строку с новым комментарием пустой.

Павел · 27 августа, 2019 в 20:43

Спасибо за статью!
Правильно ли я понимаю, что это будет работать только на одном компе, и на другом компе по imap мы эти комменты не передадим? 🙂
Вдруг есть рабочие инструменты передавать какие либо пометки таким образом, чтобы они были видны на всех устройствах (кроме флажка, который стандартно работает, а те же категории — не работают)

    urc · 11 сентября, 2019 в 09:40

    Павел, добрый день!

    Да, работает данный макрос только локально, на одном компьютере.
    В данном случае Вы привязываете комментарии к письмам только у себя и эта информация никак не связана с письмами на сервере.

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

ЕА · 3 декабря, 2019 в 09:08

Спасибо

Антонина · 3 декабря, 2019 в 10:35

Отлично! Всё получилось! Спасибо, очень понятно и очень полезно:)

Татьяна · 29 января, 2020 в 09:28

Проработал макрос 2 дня, а потом перестал.
При вызове макроса ничего не происходит, никакой реакции

    urc · 29 января, 2020 в 11:57

    Татьяна, добрый день!

    Возможно, поддержка макросов в Outlook была отключена при запуске программы. Возможно, даже случайно.
    Ниже инструкция для Outlook 2016 как включить поддержку макросов:
    1. Нажмите «Файл».
    2. Нажмите «Параметры».
    3. Перейдите в «Центр управления безопасностью».
    4. Перейдите в «Параметры макросов».
    5. Выберите «Уведомления для всех макросов».

    Закройте и снова откройте Outlook.
    Должно появиться окно, где можно выбрать либо отключить макросы, либо разрешить их использование.
    Выберите по смыслу «Разрешить».

    Напишите, помогло ли это решить вопрос или нет.

    Настройка разрешения макросов

      Татьяна · 6 февраля, 2020 в 10:38

      Ссылается «Нарушены границы массива» и в макросе выделяет цветом строку: Set oMail = Application.ActiveExplorer.Selection.Item(1)

        urc · 7 февраля, 2020 в 14:51

        Татьяна, добрый день!

        Такая ошибка может быть, если, например, выбрано не письмо, к которому нужно добавить комментарий, а беседа, в которой содержится нужное письмо.
        Обратите внимание на то, что выбрано у вас в списке писем, когда вы запускаете макрос.
        Напишите об этом потом.

          Татьяна · 10 февраля, 2020 в 16:04

          спасибо, все ок 🙂

          urc · 11 февраля, 2020 в 11:40

          Отлично!

Борис · 24 июля, 2020 в 10:42

Спасибо огромное, супер идея!
Уже несколько лет мучался без этой возможности, а ларчик так просто открывался.

Кстати, вот поправленный макрос, чтобы можно было редактировать комментарий, обнови в посте.
Sub editComment()

Dim oMail As Object
Dim oUserProp As Outlook.UserProperty
Dim myPropField, commNew As String

myPropField = «Комментарий»

Set oMail = Application.ActiveExplorer.Selection.Item(1)

On Error Resume Next

commNew = oMail.UserProperties.Find(myPropField, True).Value
commNew = InputBox(«Комментарий к письму», «Комментарий», commNew)

Set oUserProp = oMail.UserProperties.Add(myPropField, olText, True)
oUserProp.Value = commNew

oMail.Save
Err.Clear

Set oMail = Nothing

End Sub

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *