VBA Outlook | Как отправлять электронные письма из Outlook с помощью кода VBA?

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

VBA Outlook

Прелесть VBA в том, что мы можем ссылаться на другие объекты Microsoft, такие как PowerPoint, Word и Outlook. Мы можем создавать красивые презентации, мы можем работать с документами Microsoft Word и, наконец, мы можем также отправлять электронные письма. Да, вы не ослышались, мы можем отправлять электронные письма из самого Excel. Это звучит неловко, но в то же время вызывает улыбку на нашем лице. В этой статье я покажу вам, как работать с объектом Microsoft Outlook из Excel, используя кодировку VBA. Читать дальше…

Как ссылаться на Outlook из Excel?

Помните, что Outlook - это объект, и нам нужно установить ссылку на него в библиотеке ссылок на объекты. Чтобы установить объект Outlook для ссылки, выполните следующие действия.

Шаг 1. Перейдите в редактор Visual Basic.

Шаг 2: Перейдите в Инструменты> Справка.

Шаг 3: В приведенной ниже библиотеке объектов ссылок прокрутите вниз и выберите «MICROSOFT OUTLOOK 14.0 OBJECT LIBRARY».

Установите флажок «БИБЛИОТЕКА ОБЪЕКТОВ MICROSOFT OUTLOOK 14.0», чтобы сделать его доступным для Excel VBA.

Теперь мы можем получить доступ к объекту Outlook VBA из excel.

Напишите код для отправки писем из VBA Outlook из Excel

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

Вы можете скачать этот шаблон VBA для Outlook в Excel здесь - Шаблон VBA для Outlook в Excel

Шаг 1: Создайте подпроцедуру.

Код:

 Опция Явная подписка Send_Exails () End Sub 

Шаг 2: Определите переменную как VBA Outlook.Application .

Код:

 Option Explicit Sub Send_Exails () Dim OutlookApp as Outlook.Application End Sub 

Шаг 3: Вышеупомянутая ссылка на переменную в приложении VBA Outlook. В Outlook нам нужно отправлять электронные письма, поэтому определите другую переменную как Outlook.MailItem.

Код:

 Option Explicit Sub Send_Exails () Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem End Sub 

Шаг 4: Теперь обе переменные являются объектными переменными. Нам нужно их установить. Сначала установите для переменной «OutlookApp» значение « Новое приложение Outlook.Application» .

Код:

 Sub Send_Exails () Dim OutlookApp as Outlook.Application Dim OutlookMail as Outlook.MailItem Set OutlookApp = New Outlook.Application End Sub 

Шаг 5: Теперь установите вторую переменную «OutlookMail», как показано ниже.

Установите OutlookMail = OutlookApp.CreateItem (olMailItem)

Код:

 Sub Send_Exails () Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem Set OutlookApp = New Outlook.Application Set OutlookMail = OutlookApp.CreateItem (olMailItem) End Sub 

Шаг 6: Теперь с помощью инструкции с доступом к VBA Outlook Mail.

Код:

 Sub Send_Exails () Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem Set OutlookApp = New Outlook.Application Set OutlookMail = OutlookApp.CreateItem (olMailItem) With OutlookMail End With End Sub 

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

Шаг 7. Теперь внутри оператора with мы можем увидеть список IntelliSense, поставив точку .

Шаг 8: Сначала выберите формат тела как olFormatHtml .

Код:

 В OutlookMail .BodyFormat = olFormatHTML Заканчивается на 

Шаг 9: Теперь отобразите электронное письмо.

Код:

 В OutlookMail .BodyFormat = olFormatHTML .Display Заканчивается на 

Шаг 10: Теперь нам нужно написать письмо в теле письма. Для этого выберите HtmlBody .

Код:

 В OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = "Напишите здесь свой адрес электронной почты" В конце на 

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

Шаг 11: После написания электронного письма нам нужно указать электронный идентификатор получателя. Для этого доступ « Кому ».

Шаг 12: Далее говорится , для которого вы хотите CC электронной почты.

Step 13: Now mention the BCC email id’s,

Step 14: Next thing is we need to mention the subject for the email we are sending.

Step 15: Now add attachments. If you want to send the current workbook as an attachment then use the attachment as This workbook

Step 16: Finally send the email by using the Send method.

Now, this code will send the email from your VBA outlook mail. Use the below VBA code to send emails from your outlook.

To use the below code you must set the object reference to “MICROSOFT OUTLOOK 14.0 OBJECT LIBRARY” under object library of Excel VBA

By setting the reference to the object library is called early binding. The reason why we need to set the reference to object library because without setting the object library as “MICROSOFT OUTLOOK 14.0 OBJECT LIBRARY” We cannot access the IntelliSense list of VBA properties and methods. This makes the writing of code difficult because you need to be sure of what you are writing in terms of technique and spellings.

 Sub Send_Emails() 'This code is early binding i.e in Tools > Reference >You have check "MICROSOFT OUTLOOK 14.0 OBJECT LIBRARY" Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem Set OutlookApp = New Outlook.Application Set OutlookMail = OutlookApp.CreateItem(olMailItem) With OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = "Dear ABC" & "

" & "

" & "Please find the attached file" & .HTMLBody 'last .HTMLBody includes signature from the outlook. ''

includes line breaks b/w two lines .To = "[email protected]" .CC = "[email protected]" .BCC = "[email protected];[email protected]" .Subject = "Test mail" .Attachments = ThisWorkbook .Send End With End Sub