Как написать полезные макросы в сообщениях Outlook 2016 и 2019?

В Microsoft Office мы используем Visual Basic для приложений (VBA) для создания пользовательских программ, которые расширяют базовую функциональность Office и помогают экономить время за счет автоматизации повторяющихся задач. Мы называем эти небольшие программы VBA .

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

  • Сначала основы: мы научимся вставлять и сохраните простой настраиваемый макрос VBA в активном сеансе Outlook.
  • Затем мы настроим среду разработки макросов на нашем компьютере.
  • Мы пройдем через самые простые примеры Outlook VBA. Это поможет вам понять основы разработки макросов и позволит вам писать простые макросы.
  • Далее мы продолжим и определим ярлык для нашего макроса на панели быстрого доступа. Это позволит нам с легкостью запустить макрос.
  • И мы закончим, включив макросы Outlook и обработав их настройки безопасности, чтобы гарантировать, что код действительно будет запускаться при появлении запроса на наших компьютерах.

Могу ли я записать макрос Outlook?

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

Примечание. Вам интересно узнать, как на самом деле работает средство записи макросов Office, я бы порекомендовал изучить руководства по макросам MS Word и Excel VBA по макросам.

Написание макросов VBA в Outlook

  1. Прежде всего, откройте Microsoft Outlook.
  2. Теперь, продолжайте и нажмите кнопку Alt + F11 .
  3. Откроется интегрированная среда разработки (IDE) для разработчиков VBA.
  4. Разверните дерево проекта до узла ThisOutlookSession .
  5. Щелкните правой кнопкой мыши ThisOutlookSession , а затем нажмите Insert .
  6. Теперь вы вставите модуль Visual Basic. Для этого выберите Module .
  7. Вставьте код VBA в окно Module .
  8. Нажмите File , затем выберите Сохранить .
  9. Идите и закройте Developer окружающая среда. Это вернет вас к пользовательскому интерфейсу Outlook.

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

Как настроить вкладку разработчика в Outlook?

Если вы часто разрабатывая макросы Outlook, вы можете настроить среду разработки Office. Звучит фантастически, не правда ли? На самом деле это довольно простая процедура. Прочтите подробности:

  1. Откройте Outlook , щелкните правой кнопкой мыши верхнюю область ленты и выберите Настройте ленту .

  1. Проверьте запись Разработчик и нажмите

  1. Теперь вы найдете меню разработчика на ленте.

Полезные примеры Outlook VBA

Создание сообщения электронной почты

Этот простой фрагмент кода создает новый элемент сообщения электронной почты программно.

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

  Public Sub CreateMail () Dim MyEmail As MailItem 'Создать новый элемент сообщения Outlook программно Установить MyEmail = Application  .CreateItem (olMailItem) 'Задайте для нового сообщения поля, тему, основной текст и cc. С MyEmail.To = "recipient@myserver.com" .Subject = "Вставьте сюда тему сообщения" .Body = "Вставьте текст сообщения  body here ".CC =" cc@myserver.com "End WithMyEmail.DisplayEnd Sub  

Дополнительно Примечание. Вы можете использовать предопределенные шаблоны Outlook при определении новых электронные письма с VBA. Для этого вам необходимо использовать метод CreateItemFromTemplate и указать расположение файла шаблона Outlook (*. oft ).

Программная отправка электронного письма

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

  MyEmail.Send  

Прикрепите файл к электронному письму

Во многих случаях вам нужно автоматизировать отправку электронного письма с прикрепленным к нему файлом. Это может быть документ Word, электронная таблица Excel, презентация Powerpoint, документы PDF и т. Д. ». Если вы хотите программно отправить электронное письмо с вложениями, используйте следующий код:

  #VBA CodeDim MyEmail As MailItem 'Создание нового элемента сообщения Outlook программно Установите MyEmail = Application.CreateItem (olMailItem  ) 'Определите путь к папке вложений и имя файла - при необходимости измените эту часть Dim AttachFolder, AttachFile As StringAttachFolder = "C: " AttachFile = "test.txt"' Задайте для нового сообщения поля, тему, основной текст и cc.  MyEmail.To = "recipient@my_server.com; mysecondrecipient@my_server.com" .Subject = "Это тема вашего сообщения". Body = "Вставьте сюда текст сообщения электронной почты" .CC = "cc@my_server.com" .Attachments.Add AttachFolder & amp; amp;  AttachFileEnd WithMyEmail.DisplayEnd Sub  

Примечания:

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

Создание задачи с помощью VBA

Следующий фрагмент кода создает задачу Outlook, назначает ее другой человек и устанавливает тему и основной текст задачи.

  Public Sub CreateTask () Dim MyTask As TaskItem 'Создать новый набор задач Outlook MyTask = Application.CreateItem (olTaskItem)' Установить  ваши новые получатели задачи и информационные поля с MyTask.Assign.Recipients.Add "taskrecipient@my_server.com" .Subject = "Это тема вашей задачи" .Body = "Вставьте здесь подробное объяснение вашей задачи." Конец WithMyTask.DisplayEnd Sub   

Сохранить как HTML

Немногие читатели спрашивали, как автоматизировать сохранение электронных писем в HTML. Приведенный ниже код выполняет именно это.

  Public Sub SaveAsHTML () On Error Resume Next Dim MyWindow As Outlook.Inspector Dim MyItem As MailItem Dim FilePath As String FilePath = Environ ("HOMEPATH  ") & amp;  " Documents " & amp;  "" Dim ItemName As String Set MyWindow = Application.ActiveInspector If TypeName (MyWindow) = "Nothing" Затем MsgBox ("Пожалуйста, откройте электронное письмо для сохранения") В противном случае Set MyItem = MyWindow.CurrentItem ItemName = MyItem.Subject 'Имя файла будет  быть идентичным теме сообщения с MyItem .SaveAs FilePath & amp;  ItemName & amp;  ".html", olHTML End With End If End Sub  

Примечание. Убедитесь, что вы запускаете этот код только в сообщениях электронной почты, открытых в Outlook (не в Входящие/представление проводника).

Вопросы, связанные с макросами Outlook

Где хранятся макросы в Outlook?

Вы могли бы бродить, где именно хранится ваш использованный макрос. Что ж, в отличие от, например, Excel, который позволяет хранить макросы в файле personal.xlb или в определенных электронных таблицах; все макросы Microsoft Outlook хранятся в одном глобальном файле в вашей файловой системе. В частности, файл, в котором хранятся все ваши макросы, называется VBAProject.otm. Этот файл находится по адресу: C: users AppData Roaming Microsoft Outlook.

Кнопка быстрого доступа для макросов Outlook

Наш следующий шаг – вставить небольшую кнопку быстрого доступа, которая позволит нам легко запустить макрос. Для простоты мы вставим эту кнопку на панель быстрого доступа.

  1. Откройте Microsoft Outlook, если он еще не открыт.
  2. Щелкните правой кнопкой мыши. в верхней части ленты Outlook и выберите Настроить панель быстрого доступа .

Примечание. Аналогичную процедуру можно использовать для размещения значка на самой ленте, а не на панели быстрого доступа.

  1. Нажмите на поле со списком “ Выбрать команды из ” и выберите

  1. Выберите только что созданный макрос и нажмите Добавить .

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

  1. Когда закончите, нажмите OK.

Как включить макрос в Outlook?

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

  1. Далее необходимо разрешить Outlook запускать наш VBA макрос. По умолчанию Microsoft Office отключает макросы и не разрешает их, поэтому нам нужно определить e надлежащую безопасность макросов, чтобы разрешить запуск вашего настраиваемого макроса Outlook.
  2. В Outlook 2016 щелкните Developer на ленте и выберите Макрос безопасность .

  1. Выберите настройки безопасности макросов .
    1. В Outlook 2016: выберите Уведомления только для макросов с цифровой подписью, все остальные отключены или Уведомления для всех макросов .
    2. В Outlook 2019: выберите «Отключить все макросы с уведомлением» . Будет опубликовано предупреждающее сообщение, требующее одобрения пользователя перед запуском макроса.
  2. После установки параметров безопасности макроса нажмите OK .

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

Как использовать макрос Outlook?

И последнее, но не менее важное: теперь он время для запуска вашего вновь созданного макроса.

  1. Перейдите на панель быстрого доступа (верхняя левая часть экрана – немного выше меню HOME).
  2. Нажмите значок, который вы назначили для своего макроса.
  3. Вуаля, вы только что завершили и запустили свой (первый) макрос Outlook VBA!

Дополнительные идеи для макросов Outlook

Некоторые из наших читателей спрашивали, можем ли мы указать дальнейшие идеи для Outlook Automation. Вот несколько из них, с которых можно начать.

  1. Автоматически сохранять вложения во входящих сообщениях в определенную папку.
  2. Прочтите список записей встреч из CSV-файл и автоматически создавать встречи в одном или нескольких календарях.
  3. Автоматическое создание задачи/встречи/контакта из входящих писем.
  4. Визуализируйте статус ответа посетителей на набор повторяющихся встреч.
  5. Отправлять электронные письма Outlook из Excel, Word или Access.
  6. Загрузите все вложения из определенной папки Outlook на свой компьютер. Если место в вашей учетной записи Outlook ограничено, вы можете использовать этот макрос для специальной загрузки только больших вложений (например, более 5 МБ) на свой диск вместо управления ими в Outlook.
  7. Экспортируйте контакты Outlook непосредственно в база данных Access. Обратите внимание, что в продукте доступен экспорт контактов в CSV.
  8. Автоматически обновлять информацию о встречах для индивидуальных или повторяющихся встреч.

Дальнейшие действия

  • Нужна конкретная помощь по VBA? Не стесняйтесь обращаться к нам за индивидуальным предложением.

Вы обнаружите, что настройки «Уведомления для макросов с цифровой подписью» и «Уведомления для всех макросов» не соответствуют работаете в Outlook 2016?

Мне кажется, что я могу запустить свой макрос (самоподписанный) только с включенным параметром «включить все макросы». #

Работает нормально в Outlook 2013, похоже, не получается заставить его работать в 2016.

Не могу понять, есть ли ошибка в Outlook 2016 или нет.


Большое спасибо. Это поможет мне сэкономить 400 минут (~ 7 часов) в год.


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


Привет,
Не могли бы вы прислать нам пример макроса в Outlook, сохраняющего объединенный файл в определенном каталоге, например c: mydir.
Заранее благодарим за помощь
С уважением


Спасибо за отличное объяснение. Есть ли способ назначить сочетание клавиш? Пытался поискать, но похоже, что это не решение?


Отличная статья. Я заинтересован в сохранении моих заметок в текстовые файлы. Я могу делать это одно за другим с помощью мыши и/или клавиатуры. Было бы неплохо сделать макрос!

Оцените статью
futurei.ru
Добавить комментарий