VBA Outlook | Як надсилати електронні листи з Outlook за допомогою коду VBA?

Ми бачили VBA в Excel і те, як ми автоматизуємо наші завдання в Excel за допомогою створення макросів, у Microsoft Outlook ми також маємо посилання на VBA, і за допомогою якого ми можемо контролювати перспективу за допомогою VBA, це робить наші автоматичні завдання, що повторюються, простішими для автоматизації та подібно до Excel, нам потрібно дозволити функції розробника використовувати VBA в перспективі.

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 OBJECT LIBRARY”, щоб зробити його доступним для Excel VBA.

Тепер ми можемо отримати доступ до об’єкта VBA Outlook з Excel.

Напишіть код для надсилання електронних листів із VBA Outlook з Excel

Ми можемо надсилати електронні листи від Excel через програму Outlook. Для цього нам потрібно написати коди VBA. Виконайте наведені нижче дії, щоб надіслати електронні листи з Outlook.

Ви можете завантажити цей шаблон VBA Outlook у шаблон Excel тут - VBA Outlook у шаблон Excel

Крок 1: Створіть підпроцедуру.

Код:

 Варіант Явна допоміжна передача Send_Exails () Кінець допоміжна 

Крок 2: Визначте змінну як VBA Outlook.Application .

Код:

 Варіант Явна допоміжна програма Send_Exails () Затемнити OutlookApp як Outlook 

Крок 3: Вищезгадане посилання на програму VBA Outlook. У перспективі нам потрібно надсилати електронні листи, тому визначте іншу змінну як Outlook.MailItem.

Код:

 Варіант Явна допоміжна програма Send_Exails () Затемнити OutlookApp як Outlook.Застосування Затемнити OutlookMail як Outlook.MailItem End Sub 

Крок 4: Тепер обидві змінні є об’єктними змінними. Нам потрібно їх встановити. Спочатку встановіть змінну “OutlookApp” як New 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: Тепер використовуємо With statement access 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) З OutlookMail End with End Sub 

Тепер ми можемо отримати доступ до всіх елементів, доступних з такими елементами електронної пошти, як "Основна частина електронної пошти", "Кому", "CC", "BCC", "Тема" та багато іншого.

Крок 7: Тепер всередині оператора з оператором ми можемо побачити список IntelliSense, поставивши крапку .

Крок 8: Спочатку виберіть формат основного тексту як olFormatHtml .

Код:

 За допомогою OutlookMail .BodyFormat = olFormatHTML Закінчити з 

Крок 9: Тепер відобразіть електронний лист.

Код:

 З OutlookMail .BodyFormat = olFormatHTML. Відображення закінчити з 

Крок 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