В Microsoft Office мы используем Visual Basic для приложений (VBA) для создания пользовательских программ, которые расширяют базовую функциональность Office и помогают экономить время за счет автоматизации повторяющихся задач. Мы называем эти небольшие программы VBA .
В этом руководстве мы хотели предоставить наиболее полный в Интернете макрос ресурс для разработки Outlook. Мы сосредоточимся на изучении основ Outlook VBA для начинающих, научимся писать макросы, а затем рассмотрим некоторые более продвинутые полезные идеи макросов. Основываясь на полученных нами отзывах, после изучения этого руководства вы сможете разрабатывать и запускать простые макросы VBA для Outlook.
- Сначала основы: мы научимся вставлять и сохраните простой настраиваемый макрос VBA в активном сеансе Outlook.
- Затем мы настроим среду разработки макросов на нашем компьютере.
- Мы пройдем через самые простые примеры Outlook VBA. Это поможет вам понять основы разработки макросов и позволит вам писать простые макросы.
- Далее мы продолжим и определим ярлык для нашего макроса на панели быстрого доступа. Это позволит нам с легкостью запустить макрос.
- И мы закончим, включив макросы Outlook и обработав их настройки безопасности, чтобы гарантировать, что код действительно будет запускаться при появлении запроса на наших компьютерах.
- Могу ли я записать макрос Outlook?
- Написание макросов VBA в Outlook
- Как настроить вкладку разработчика в Outlook?
- Полезные примеры Outlook VBA
- Создание сообщения электронной почты
- Программная отправка электронного письма
- Прикрепите файл к электронному письму
- Создание задачи с помощью VBA
- Сохранить как HTML
- Вопросы, связанные с макросами Outlook
- Где хранятся макросы в Outlook?
- Кнопка быстрого доступа для макросов Outlook
- Как включить макрос в Outlook?
- Как использовать макрос Outlook?
- Дополнительные идеи для макросов Outlook
- Дальнейшие действия
Могу ли я записать макрос Outlook?
В отличие от других приложений Office, Outlook не содержит простого средства записи макросов для записи действий пользователя и автоматической генерации необходимого кода VBA для нас в фоновом режиме. Поэтому, если мы хотим добавить в Outlook свои собственные функции, нам нужно научиться писать простые программы VBA и включать их в сеанс Outlook.
Примечание. Вам интересно узнать, как на самом деле работает средство записи макросов Office, я бы порекомендовал изучить руководства по макросам MS Word и Excel VBA по макросам.
Написание макросов VBA в Outlook
- Прежде всего, откройте Microsoft Outlook.
- Теперь, продолжайте и нажмите кнопку Alt + F11 .
- Откроется интегрированная среда разработки (IDE) для разработчиков VBA.
- Разверните дерево проекта до узла ThisOutlookSession .
- Щелкните правой кнопкой мыши ThisOutlookSession , а затем нажмите Insert .
- Теперь вы вставите модуль Visual Basic. Для этого выберите Module .
- Вставьте код VBA в окно Module .
- Нажмите File , затем выберите Сохранить .
- Идите и закройте Developer окружающая среда. Это вернет вас к пользовательскому интерфейсу Outlook.
Примечание. Прочтите несколько простых примеров кода, которые помогут вам начать работу с VBA. Никогда не копируйте код VBA из неизвестных ресурсов.
Как настроить вкладку разработчика в Outlook?
Если вы часто разрабатывая макросы Outlook, вы можете настроить среду разработки Office. Звучит фантастически, не правда ли? На самом деле это довольно простая процедура. Прочтите подробности:
- Откройте Outlook , щелкните правой кнопкой мыши верхнюю область ленты и выберите Настройте ленту .
- Проверьте запись Разработчик и нажмите
- Теперь вы найдете меню разработчика на ленте.
Полезные примеры 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
Наш следующий шаг – вставить небольшую кнопку быстрого доступа, которая позволит нам легко запустить макрос. Для простоты мы вставим эту кнопку на панель быстрого доступа.
- Откройте Microsoft Outlook, если он еще не открыт.
- Щелкните правой кнопкой мыши. в верхней части ленты Outlook и выберите Настроить панель быстрого доступа .
Примечание. Аналогичную процедуру можно использовать для размещения значка на самой ленте, а не на панели быстрого доступа.
- Нажмите на поле со списком “ Выбрать команды из ” и выберите
- Выберите только что созданный макрос и нажмите Добавить .
- Нажмите Изменить , чтобы определить пользовательский изображение значка для кнопки панели быстрого доступа.
- Когда закончите, нажмите OK.
Как включить макрос в Outlook?
Этот шаг не является обязательным, и его следует выполнять только в том случае, если вы получаете сообщение об ошибке при запуске вашего вновь созданного макроса.
- Далее необходимо разрешить Outlook запускать наш VBA макрос. По умолчанию Microsoft Office отключает макросы и не разрешает их, поэтому нам нужно определить e надлежащую безопасность макросов, чтобы разрешить запуск вашего настраиваемого макроса Outlook.
- В Outlook 2016 щелкните Developer на ленте и выберите Макрос безопасность .
- Выберите настройки безопасности макросов .
- В Outlook 2016: выберите Уведомления только для макросов с цифровой подписью, все остальные отключены или Уведомления для всех макросов .
- В Outlook 2019: выберите «Отключить все макросы с уведомлением» . Будет опубликовано предупреждающее сообщение, требующее одобрения пользователя перед запуском макроса.
- В Outlook 2016: выберите Уведомления только для макросов с цифровой подписью, все остальные отключены или Уведомления для всех макросов .
- После установки параметров безопасности макроса нажмите OK .
Примечание. Ваши текущие настройки безопасности могут препятствовать запуску макросов в Outlook. Вот руководство о том, как действовать, если макросы отключены в вашем проекте макросов Outlook.
Как использовать макрос Outlook?
И последнее, но не менее важное: теперь он время для запуска вашего вновь созданного макроса.
- Перейдите на панель быстрого доступа (верхняя левая часть экрана – немного выше меню HOME).
- Нажмите значок, который вы назначили для своего макроса.
- Вуаля, вы только что завершили и запустили свой (первый) макрос Outlook VBA!
Дополнительные идеи для макросов Outlook
Некоторые из наших читателей спрашивали, можем ли мы указать дальнейшие идеи для Outlook Automation. Вот несколько из них, с которых можно начать.
- Автоматически сохранять вложения во входящих сообщениях в определенную папку.
- Прочтите список записей встреч из CSV-файл и автоматически создавать встречи в одном или нескольких календарях.
- Автоматическое создание задачи/встречи/контакта из входящих писем.
- Визуализируйте статус ответа посетителей на набор повторяющихся встреч.
- Отправлять электронные письма Outlook из Excel, Word или Access.
- Загрузите все вложения из определенной папки Outlook на свой компьютер. Если место в вашей учетной записи Outlook ограничено, вы можете использовать этот макрос для специальной загрузки только больших вложений (например, более 5 МБ) на свой диск вместо управления ими в Outlook.
- Экспортируйте контакты Outlook непосредственно в база данных Access. Обратите внимание, что в продукте доступен экспорт контактов в CSV.
- Автоматически обновлять информацию о встречах для индивидуальных или повторяющихся встреч.
Дальнейшие действия
- Нужна конкретная помощь по VBA? Не стесняйтесь обращаться к нам за индивидуальным предложением.
Вы обнаружите, что настройки «Уведомления для макросов с цифровой подписью» и «Уведомления для всех макросов» не соответствуют работаете в Outlook 2016?
Мне кажется, что я могу запустить свой макрос (самоподписанный) только с включенным параметром «включить все макросы». #
Работает нормально в Outlook 2013, похоже, не получается заставить его работать в 2016.
Не могу понять, есть ли ошибка в Outlook 2016 или нет.
Большое спасибо. Это поможет мне сэкономить 400 минут (~ 7 часов) в год.
Если это не подходящее место для публикации, направьте меня, где и как я могу создать макрос, который использует подпись Outlook, чтобы я мог создать кнопку, которая добавит подпись к ответу или пересылаемому электронному письму, а также добавит вложение файла?
Привет,
Не могли бы вы прислать нам пример макроса в Outlook, сохраняющего объединенный файл в определенном каталоге, например c: mydir.
Заранее благодарим за помощь
С уважением
Спасибо за отличное объяснение. Есть ли способ назначить сочетание клавиш? Пытался поискать, но похоже, что это не решение?
Отличная статья. Я заинтересован в сохранении моих заметок в текстовые файлы. Я могу делать это одно за другим с помощью мыши и/или клавиатуры. Было бы неплохо сделать макрос!