Функция Excel VBA Outlook

Мы ежедневно работаем с большим количеством файлов Excel и ежедневно отправляем многим пользователям. Мы ежедневно пишем одно и то же Сообщение в электронном письме и отправляем этот файл Excel. Это дает нам возможность автоматизации этой задачи. Вы правильно поняли. Эта задача написания электронной почты и отправки файла может быть автоматизирована с помощью VBA. Причина в том, что VBA может использовать ссылку с различными объектами Microsoft, такими как outlook, word, PowerPoint, paint и т. Д.

Таким образом, мы можем отправить электронное письмо с помощью VBA. Теперь я уверен, что вы все будете рады узнать, как мы можем отправить электронное письмо с помощью VBA.

В этой статье мы узнаем, как использовать Outlook в качестве объекта Microsoft из Excel с использованием кодирования VBA и как мы можем отправлять электронную почту, включая вложение, с помощью VBA.

Как использовать функцию Outlook VBA Outlook?

Чтобы использовать функцию Outlook VBA, нам нужно сделать две вещи.

Вы можете скачать этот шаблон VBA Outlook Excel здесь - Шаблон VBA Outlook Excel
  1. Ссылка на объект Microsoft Outlook из библиотеки объектов в VBA.
  2. Напишите код VBA для отправки электронных писем в модуле VBA.

# 1 - Справочник по Outlook из Excel

Как вы знаете, Outlook - это объект, и нам нужно предоставить ссылку на объект Outlook. Итак, в VBA есть библиотека ссылок на объекты, которую нам нужно использовать для справки.

Для использования библиотеки ссылок на объекты выполните следующие действия.

Шаг 1. На вкладке «Разработчик» щелкните Visual Basic, чтобы открыть редактор VB.

Шаг 2: Перейдите в Инструменты и затем выберите Ссылки, как показано на скриншоте ниже.

Шаг 3. Прокрутите вниз в библиотеке эталонных объектов и выберите «Библиотека объектов Microsoft Outlook 16.0», чтобы сделать ее доступной для Excel VBA.

В зависимости от офиса Microsoft версия Outlook может отличаться. В нашем случае это 16.0. Вы можете использовать « Библиотеку объектов Microsoft Outlook 14.0», если это версия, показанная на вашем компьютере.

Установите флажок Microsoft Outlook, как показано на скриншоте выше. Теперь мы можем использовать объект Microsoft Outlook в Excel VBA.

Этот процесс установки ссылки на «MICROSOFT OUTLOOK 16.0 OBJECT LIBRARY» известен как «Раннее связывание». Без установки библиотеки объектов как «MICROSOFT OUTLOOK 16.0 OBJECT LIBRARY» мы не можем использовать свойства IntelliSense и методы VBA, что затрудняет написание кода.

# 2 - Написать код для отправки писем из VBA Outlook из Excel

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

Шаг 1: Создайте подпроцедуру, назвав макрос. Мы будем называть макрос «send_email», как показано на скриншоте ниже.

Код:

 Опция Явный Sub Send_email () End Sub 

Шаг 2: Определите переменную как Outlook. Приложение, как показано на скриншоте ниже. Это ссылка на приложение Outlook VBA.

Код:

 Опция Явный Sub Send_email () Dim OutlookApp As Outlook.Application End Sub 

Шаг 3: Нам нужно отправить электронное письмо в Outlook, поэтому определите другую переменную как « Outlook.Mailitem », как показано на скриншоте ниже.

Код:

 Опция Явный Sub Send_email () Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem End Sub 

Шаг 4: На предыдущих шагах мы определили переменную, теперь нам нужно их установить.

Теперь установите первую переменную «Приложение Outlook» как «Новое приложение Outlook.Application», как показано на снимке экрана ниже.

Код:

 Параметр Явный Sub Send_email () Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem Установить OutlookApp = Новый Outlook.Application End Sub 

Шаг 5: Теперь установите вторую переменную «Outlook Mail» с помощью приведенного ниже кода.

Код:

 Параметр Явный Sub Send_email () Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem Set OutlookApp = Новый Outlook.Application Set OutlookMail = OutlookApp.CreateItem (olMailItem) End Sub 

Шаг 6: Теперь мы можем использовать VBA Outlook, используя оператор « С », как показано на скриншоте ниже.

Код:

 Параметр Явный Sub Send_email () Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem Установить OutlookApp = Новый Outlook. AppApplication Установить OutlookMail = OutlookApp.CreateItem (olMailItem) с OutlookMail End Sub 

Теперь у нас есть доступ к таким элементам электронной почты, как «Кому», «CC», «BCC», «тема», «Основная часть электронного письма» и многим другим.

Шаг 7: Внутри оператора «С» мы можем увидеть список, поставив точку, известную как «Список Intellisense».

Шаг 8: Сначала выберите формат тела как olFormatHtml, как показано на скриншоте ниже.

Код:

 С OutlookMail .BodyFormat = olFormatHTML End Sub 

Шаг 9: Выберите « .Display » для отображения почты, как показано на скриншоте ниже.

Код:

 С OutlookMail .BodyFormat = olFormatHTML .Display End Sub 

Шаг 10: Выберите « .HTMLbody », чтобы написать электронное письмо, как показано на скриншоте ниже.

Код:

 С помощью OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = "напишите здесь свое письмо" End Sub 

Нам нужно помнить несколько вещей при написании письма в коде VBA.

«
»Используется для включения разрыва строки между двумя строками. Чтобы добавить подпись в электронное письмо, вам нужно ввести «& .HTMLbody»

Ниже приведен пример того, как написать письмо в VBA.

Код:

 С OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = "Уважаемый ABC" & "
"&" Пожалуйста, найдите прикрепленный файл "& .HTMLBody End Sub

Шаг 11: Теперь нам нужно добавить получателя письма. Для этого вам нужно использовать «.To».

Код:

 .To = " " 

Шаг 12: Если вы хотите добавить кого-либо в «CC» и «BCC», вы можете использовать «.CC» и «.BCC», как показано на скриншоте ниже.

Код:

 .CC = " " .BCC = " " 

Шаг 13: Чтобы добавить тему для письма, которое мы отправляем, мы можем использовать « .Subject », как показано на скриншоте ниже.

Код:

 .Subject = "ТЕСТОВАЯ ПОЧТА" 

Шаг 14: Мы можем добавить нашу текущую рабочую книгу в виде вложения в электронное письмо с помощью свойства «.Attachment». Для этого сначала объявите переменную Source как строку.

Код:

 Dim source_file As String 

Затем используйте следующий код, чтобы прикрепить файл в письме.

Код:

 source_file = ThisWorkbook.FullName .Attachments.Add source_file 

Здесь ThisWorkbook используется для текущей книги и. FullName используется для получения полного имени листа.

Шаг 15: Теперь последний код должен наконец отправить электронное письмо, для которого мы можем использовать « .send ». Но обязательно закройте процедуру «С» и «Суб», выбрав «Конец» и «Конец суб», как показано на скриншоте ниже.

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

Шаг 16: Запустите код, нажав F5 или кнопку Run, и посмотрите результат.

Окончательный полный код

Ниже приведен окончательный код о том, как отправить электронное письмо с помощью VBA Outlook.

Код:

 Параметр Явный Sub Send_email () Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem Dim source_file As String Установить OutlookApp = Новый Outlook.Application Установить OutlookMail = OutlookApp.CreateItem (olMailItem) с OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = " Уважаемый ABC "&"
"&" Пожалуйста, найдите прикрепленный файл "& .HTMLBody .To =" ".CC =" ".BCC =" ".Subject =" ТЕСТОВАЯ ПОЧТА "source_file = ThisWorkbook. FullName .Attachments.Add source_file .Send End With End Sub

Пример функции Outlook VBA

Предположим, что есть руководитель группы, и он хочет отправлять ежедневное электронное письмо для отслеживания активности каждого участника. Электронная почта будет такой.

« Привет, команда

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

С уважением,

неизвестный

«

Выполните шаги, указанные выше, для ссылки на объект Microsoft и написания кода VBA, или вы можете просто изменить код соответствующим образом.

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

Ниже приведен модифицированный код, который мы используем для написания этого письма.

Код:

 Sub Send_teamemail () Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem Установить OutlookApp = новый Outlook.Application Установить OutlookMail = OutlookApp.CreateItem (olMailItem) с OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = "Привет команда" & "
"&"
"&" Просим вас сообщить о ваших действиях по каждому из последующих элементов к 20:00 сегодня. "& .HTMLBody .To =" ; ; ".Subject =" Team Follow Up ". Отправить конец End Sub

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

То, что нужно запомнить

  • Во-первых, убедитесь, что вы установили Microsoft Outlook на свой компьютер и вы вошли в свою учетную запись.
  • Убедитесь, что флажок для Microsoft Outlook в ссылке на библиотеку объектов всегда установлен. Код не запустится и выдаст ошибку, если она не проверена.
  • Определение переменных и установка переменных очень важны в кодировании VBA. Без переменных код не будет работать.
  • Убедитесь, что если вы хотите добавить подпись в почте, сначала у вас должна быть хотя бы одна подпись, уже созданная в outlook.
  • Всегда используйте «
    »Для ввода пробелов в почте.

Рекомендуемые статьи

Это руководство по VBA Outlook. Здесь мы обсудим, как отправлять электронные письма из Outlook, используя коды VBA в Excel вместе с примером и загружаемым шаблоном Excel. Ниже приведены несколько полезных статей о Excel, связанных с VBA.

  1. Что такое ошибка переполнения VBA?
  2. Настройка панели быстрого доступа в Excel
  3. Примеры именованных диапазонов VBA
  4. Как отправить письмо из Excel VBA
  5. Как использовать Option Explicit в VBA?

Категория: