Как сделать макрос для outlook

Добавил пользователь Дмитрий К.
Обновлено: 05.10.2024

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

Вкладка Office - включите редактирование и просмотр с вкладками в Office и сделайте работу намного проще .

Назначьте кнопку указанному макросу в Outlook

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

1. После создания макроса в Outlook щелкните значок Настройка панели быстрого доступа и выберите Дополнительные команды из раскрывающегося списка. Смотрите скриншот:

2. в Параметры Outlook диалоговое окно, вам необходимо:

5.1 Выбрать Макрос из Выберите команды из раскрывающийся список;

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

5.3 Щелкните значок Добавить кнопка;

5.4 Продолжайте выбирать имя макроса справа Настройка панели быстрого доступа поле, а затем щелкните Изменить кнопка;

5.5 Выберите кнопку изменения для макроса, а затем нажмите кнопку OK кнопка;

5.6 Щелкните значок OK , чтобы закрыть Параметры Outlook диалоговое окно. Смотрите скриншот:

3. Затем на панели быстрого доступа отображается кнопка, представляющая указанный макрос. Нажмите на кнопку, и макрос немедленно запустится. Смотрите скриншот:

Нам нужен редактор Visual Basic for Applications, встроенный в Outlook.

Запускаем редактор VBA в Outlook

Панель Разработчик для Outlook VBA

Outlook VBA

Появится окно редактора Visual Basic for Applications — VBA:

Создаем Outlook VBA скрипт

VBA не предназначен для создания программ, которые можно перенести и развернуть на другом компьютере. Конечно, вы сможете перенести код скрипта на другую машину, но основная функция VB для приложений — автоматизация действий пользователя. Предполагается, что автоматизировать свои действия пользователь будет сам :)

В редакторе скрипт можно добавить в новый модуль, а можно в объект ThisOutlookSession. Это скажется только на имени модуля, на который вы затем будете ссылаться, создавая правило.

Вставьте в редактор простой код, чтобы проверить работу скрипта:

Должно получиться так:

Outlook VBA скрипт

Добавляем правило для запуска Outlook VBA скрипта

Правило создается как обычно.

Outlook VBA создаем правило

Outlook VBA запускаем скрипт

и темой письма, все в порядке.

Если VBA скрипт не работает

В моем случае скрипт прекрасно запустился, а затем перестал работать. Если у вас срабатывает правило, но прописанные в скрипте действия не выполняются, возможная причина — настройки безопасности Outlook.

В Outlook 2007 выберите меню Tools | Trust Center и установите macro security в Warn on all macros.

Но если мы будем просто пересылать email стандартным правилом Outlook, то в SMS могут не попасть нужные нам данные, либо оно может и вовсе не дойти.

Для этого можете использовать следующий скрипт

Отправка писем из Outlook по расписанию

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

Подробное описание

К сожалению, в стандартном функционале Outlook данной возможности не предусмотрено. Максимум - отложенная отправка, но это совсем другое. С помощью указанного нами способа теперь это возможно. Всё, что необходимо: один раз создать шаблон, один раз настроить задачу в Outlook и теперь каждый вторник в заданное вами время будет происходить отправка нужного вам письма.

Установка макроса довольно-таки проста:

  1. Создайте задачу с именем "Рассылка писем".
  2. В параметрах задачи обязательно включите напоминание и задайте интервал повторений. Указанные дата и время напоминания - есть дата и время отправки писем.
  3. Создайте в Outlook папку с именем "Расписание". Все письма, которые требуется отправлять по графику размещайте в данной папке.
  4. Код скрипта из вложения выше разместите в модуле "ThisOutlookSession".
  5. В модуле VBA при необходимости создайте и добавьте персональный сертификат (на некоторых ПК возможна блокировка выполнения макросов без установленного сертификата).

Также обратите внимание:

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

Outlook вообще очень гибок в плане автоматизации в среде MS Office. Можно делать много интересных вещей. Была бы необходимость. Поэтому, не стесняйтесь, пишите, спрашивайте.

Однажды мне надоело в каждом письме вводить: "Доброе утро, Иван", "Добрый день, Петр", и т.п. И решил я автомтизировать этот процесс.

Накидал себе небольшое техническое задание, которое содержало пункты:

  1. До 12:00 пишем "доброе утро", с 12 до 18 - "добрый день", а после 18 - "добрый вечер".
  2. Если получателей письма несколько, то обращаемся "коллеги".
  3. Дополнительно проверяем, заполнена ли тема письма.
  4. Обращаемся ко всем по сохраненному псевдониму.

И приступил к разработке макроса.

В итоге получиловь вот что:

Как добавить этот макрос в MS Outlook?

Параметры Outlook

Запуск редактора Visual Basic в MS Outlook

Макросы в Visual Basic

Если псевдоним не задан

6. Письмо заполняется автоматически:

Псевдонимы храняться в заметказ, в папке

Экспорт модуля

Комментарии

Аватар пользователя Денис

Добрый день,


Добрый день,
попробовал ваш код. В конце не хватало одного IF. Переносы строк "_" интерпретированы ка ошибки пришлось убрать. Далее появляется запрос на добавление приветствия,я его подтверждаю, но приветствие не добавляется, а далее письмо просто уходит без приветствия. У меня Windows 10 и Outlook 2016 (Office 360). Подскажите в чём может быть проблема?

Аватар пользователя Nicholas


Аватар пользователя Денис

Не работает, ни код в тексте


Не работает, ни код в тексте статьи (шипет ошибка как писали выше) ни импорт вашего вложения, письма остаются без изменений

Аватар пользователя Nicholas

Нужно смотреть отладчиком.


Нужно смотреть отладчиком. Возможно код не совместим с вашей версией Аутлука (к сожалению, проверить не на чем). Какие вопросы задает программа перед отправкой письма и как вы на них отвечаете?

Аватар пользователя Даниил

Супер, то что нужно!


Супер, то что нужно!
а можно сделать интеграцию с корпоративной адресной книгой?

Аватар пользователя Nicholas

Пожалуйста.Я точно не буду


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

Поищите специалиста, который специализируется на VB. Либо сами попробуйте. Если опыт программирования есть - должно получиться. Все языки программирования похожи.

Аватар пользователя Гость


Аватар пользователя Сергей

С новым годом!


Аватар пользователя Nicholas

Добрый день, Сергей.Спасибо


Добрый день, Сергей.

Спасибо за поздравления. Вас тоже с новым годом! К сожалению, образа у меня сейчас нет. Уверен, что его будет не сложно найти на просторах интернета.

Проверено скрипт работает на Outlook 2013 и 2016. Возможно и на более высоких версиях будет работать (не проверял).

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

Читайте также: