Макрос для відправки електронного листа з Excel (5 прикладів)

  • Поділитися Цим
Hugh West

У цій статті ми покажемо вам 5 Макрос до відправити електронну пошту від Excel Для демонстрації наших методів ми обрали набір даних з 3 колонки : " Ім'я та прізвище ", " Електронна пошта ", та " Місто ".

Завантажити Практичний посібник

Використання макросу для відправки Email.xlsm

5 способів використання макросу для відправки листа з Excel

1. використання бібліотеки об'єктів Outlook для надсилання електронної пошти

За перший Макрос ми збираємося увімкнути " Бібліотека об'єктів Microsoft Outlook 16.0 " до відправити an електронна пошта від Excel Крім того, нам потрібно зайти в наш Перспективи рахунок в Excel .

Сходинки:

На початку ми згадаємо про Visual Basic вікно.

  • По-перше, з боку Розробник вкладка>>> вибрати Visual Basic .

Крім того, ви можете натиснути ALT + F11 для відображення VBA вікно.

  • По-друге, від Інструменти >>> виберіть " Посилання... ".

Новий діалогове вікно з'явиться.

  • По-третє, виберіть " Бібліотека об'єктів Microsoft Outlook 16.0 ", та натисніть ГАРАЗД. .

Таким чином, ми дамо можливість Бібліотека об'єктів Outlook .

  • Їх від Вставка вибрати Модуль .

Ми введемо наш код тут.

  • Після цього введіть наступний код.
 Sub Macro_Send_Email() Dim eApp As Outlook.Application Dim eSource As String Set eApp = New Outlook.Application Dim eItem As Outlook.MailItem Set eItem = eApp.CreateItem(olMailItem) eItem.To = Range("C5").Value 'Ці елементи є необов'язковими 'eItem.CC = "[email protected]" 'eItem.BCC = "[email protected]" eItem.Subject = "Відправлення електронної пошти за допомогою VBA з Excel" eItem.Body = "Привіт, "& vbNewLine &"Сподіваюся, цей лист знайде вас добре." & _ vbNewLine & vbNewLine & _ "З повагою," & vbNewLine & "Exceldemy" 'Якщо ви хочете прикріпити цю книгу, то розкоментуйте ці два рядки знизу 'Source = ThisWorkbook.FullName 'eItem.Attachments.Add Source eItem.Display 'можна використовувати .Send End Sub 

Розбивка коду VBA

  • По-перше, ми закликаємо наших Підпроцедура Macro_Send_Email .
  • По-друге, ми заявляємо про змінна типи.
  • По-третє, ми відбираємо Перспективи як наші Поштова програма .
  • Потім, ми обираємо наш електронна пошта адреса відправлення від комірка C5 .
  • Після цього, в рамках візиту в Україну електронна пошта зміст задається в нашому коді.
  • Нарешті, " VBA Відображення властивості " використовується тут для відображення нашого електронна пошта Тому нам потрібно буде натиснути Надіслати вручну до відправити в "Урядовому кур'єрі". електронні листи Крім того, ми можемо використовувати " Надіслати майно " до надсилати електронні листи не показуючи.
  • Після цього, Зберегти і закрити Модуль .

А тепер, ми будемо Біжи код.

  • По-перше, з боку Розробник вкладка>>> вибрати Макроси .

На сьогоднішній день, на жаль, це не так. Діалогове вікно макросу з'явиться.

  • По-друге, оберіть наш Підпроцедура " Macro_Send_Email ".
  • Наостанок, натисніть Біжи .

Після виконання коду ми побачимо електронна пошта Ми можемо натиснути на Надіслати Таким чином, ми показали вам перший спосіб відправка an електронна пошта від перевершувати використовуючи VBA .

Читати далі: Надсилання електронної пошти з Excel VBA без Outlook (4 відповідні приклади)

2. Макрос для відправки листів з акаунта Gmail в Excel

Для цього методу нам потрібно менш безпечний доступ до додатків від Gmail Крім того, нам потрібно буде увімкнути Microsoft CDO від Посилання меню.

Сходинки:

  • По-перше, як показано в першому способі згадують про Діалогове вікно "Посилання .
  • По-друге, виберіть " Бібліотека Microsoft CDO для Windows 2000 " і натисніть ГАРАЗД. .

  • По-третє, зверніться до Безпека від твого Налаштування облікового запису Google .
  • Нарешті, увімкніть Менш безпечний доступ до додатків .

Тепер ми введемо наші Макрос код.

  • По-перше, як показано в методі 1 згадують про Модуль і введіть цей код.
 Option Explicit Sub Send_Gmail_Macro() Dim cMail As Object Dim cConfig As Object Dim sConfig As Variant Dim cSubject As String Dim cFrom As String Dim cTo As String Dim cCC As String Dim cBcc As String Dim cBody As String cSubject = "Макрос для відправки Gmail" cFrom = "[email protected]" cTo = "[email protected]" cBody = "Доброго дня. Це автоматичне повідомлення. Будь ласка, не відповідайте" Set cMail =CreateObject("CDO.Message") On Error GoTo Error_Handling Set cConfig = CreateObject("CDO.Configuration") cConfig.Load -1 Set sConfig = cConfig.Fields With sConfig .Item("//schemas.microsoft.com/cdo/configuration/sendusing") = 2 .Item("//schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com" .Item("//schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1.Item("//schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]" .Item("//schemas.microsoft.com/cdo/configuration/sendpassword") = "SenderGmailPassword" .Item("//schemas.microsoft.com/cdo/configuration/smtpserverport") = 465 .Item("//schemas.microsoft.com/cdo/configuration/smtpusessl") = True .Update End With З встановленим набору пошти .Configuration = cConfig End With з встановленим набором пошти .Subject = cMailcSubject cMail.From = cFrom cMail.To = cTo cMail.TextBody = cBody cMail.CC = cCC cMail.BCC = cBcc cMail.Send Error_Handling: If Err.Description "" Then MsgBox Err.Description End Sub 

Розбивка коду VBA

  • По-перше, ми закликаємо наших Підпроцедура Надіслати_Gmail_Макрос .
  • По-друге, ми заявляємо про змінна типи.
  • По-третє, ми встановлюємо електронна пошта в нашому кодексі.
  • Потім, ми надаємо наші облікові дані для входу в систему Вам потрібно ввести свій власний ПОСВІДЧЕННЯ ОСОБИ і Пароль тут.
  • Після цього ми приступили до виконання наступних завдань порт до 465 .
  • Нарешті, ми відправка наш електронна пошта .
  • Тоді, Зберегти і Біжи цей код.

Ми успішно відправлений an електронна пошта на нашу адресу.

Читати далі: Макрос для відправки листа з Excel з тілом (3 корисних кейси)

3. надсилання електронного листа до списку одержувачів зі стовпця

Для третього способу ми збираємося надсилати електронні листи до 7 люди, які вживають Макрос від Excel Ми знайдемо останнього ряд нашого набору даних, отже, наш код буде працювати для довшого списку. надсилати електронні листи від комірка C5:C10 діапазону.

Сходинки:

  • По-перше, як показано в методі 1 згадують про Модуль і введіть цей код.
 Sub Macro_Send_Email_From_A_List() Dim pApp As Object Dim pMail As Object Dim z As Integer Dim eList As String Dim eRow As Long Set pApp = CreateObject("Outlook.Application") Set pMail = pApp.CreateItem(0) eRow = Range("C:C").SpecialCells(xlCellTypeLastCell).Row - 1 With pMail eList = "" For z = 5 To eRow If eList = "" Then eList = Cells(z, 3).Value Else eList = eList & ";" & Cells(z,3).Value End If Next z .BCC = eList .Subject = "Hello There" .Body = "This Message is brought to you by Exceldemy." .Display 'You can use .Send here End With Set pMail = Nothing Set pApp = Nothing End Sub 

Розбивка коду VBA

  • По-перше, ми закликаємо наших Підпроцедура Макрос_відправлення_листа_з_списку .
  • По-друге, ми заявляємо про змінна типи.
  • По-третє, ми відбираємо Перспективи як наші Поштова програма .
  • Потім ми знаходимо останній ряд що є 10 для нашого набору даних.
  • Після цього, як стверджує наш електронна пошта починається з ряд 5 ми внесли 5 як початкове значення для " змінна z "Більше того, наші електронні листи знаходяться на С колонка тому ми ввели 3 всередині Клітини власність.
  • Потім ми встановлюємо електронна пошта в нашому кодексі.
  • Нарешті, " .дисплей " використовується тут для відображення нашого електронна пошта Тому нам потрібно буде натиснути Надіслати вручну до відправити в "Урядовому кур'єрі". електронні листи Крім того, ми можемо використовувати " .Send " до відправити електронну пошту не показуючи.
  • Тоді, Зберегти і Біжи в "Урядовому кур'єрі". Модуль .

Ми бачимо, що всі наші електронні листи відображаються в BCC На завершення можна просто натиснути кнопку Надіслати щоб виконати наше завдання.

Читати далі: Як відправити лист зі списку Excel (2 ефективних способи)

Схожі читання

  • Як автоматично надсилати електронний лист при виконанні умови в Excel
  • Як поділитися файлом Excel в Інтернеті (2 простих способи)
  • Автоматична відправка нагадувань з аркуша Excel за допомогою VBA
  • Як відправити електронний лист при виконанні умов в Excel (3 простих способи)
  • Як увімкнути спільний доступ до книги в Excel

4. макрос для відправки одного аркуша електронною поштою

У цьому розділі ми розглянемо відправити в "Урядовому кур'єрі". Активний робочий аркуш Тут нам потрібно вибрати місце, де буде знаходитися наша ціль. Excel файл.

Сходинки:

  • По-перше, як показано в методі 1 згадують про Модуль і введіть цей код.
 Sub Macro_Email_Single_Sheet() Dim pApp As Object Dim pMail As Object Dim zBook As Workbook Dim fxName As String 'Dim zSheet As Worksheet 'Dim shtName As String Application.ScreenUpdating = False ActiveSheet.Copy Set zBook = ActiveWorkbook fxName = zBook.Worksheets(1).Name On Error Resume Next Kill "C:\Users\Rafi\OneDrive\Desktop\Softeko\47\" & fxName On Error GoTo 0 zBook.SaveAsFileName:="C:\Users\Rafi\OneDrive\Desktop\Softeko\47\" & fxName Set pApp = CreateObject("Outlook.Application") Set pMail = pApp.CreateItem(0) With pMail .To = "[email protected]" .Subject = "Макрос для відправки одного аркуша по електронній пошті" .Body = "Шановний одержувачName," & vbCrLf & vbCrLf & _ "Ваш запитуваний файл вкладено" .Attachments.Add zBook.FullName .Display End WithzBook.ChangeFileAccess Mode:=xlReadOnly Kill zBook.FullName zBook.Close SaveChanges:=False Application.ScreenUpdating = True Set pMail = Nothing Set pApp = Nothing End Sub 

Розбивка коду VBA

  • По-перше, ми закликаємо наших Підпроцедура Макрос_Електронна пошта_Один_аркуш .
  • По-друге, ми заявляємо про змінна типи.
  • По-третє, ми копіюємо Активний лист і збереження його як окремого Робочий зошит .
  • Після цього ми відбираємо Перспективи як наші Поштова програма .
  • Потім ми встановлюємо електронна пошта в нашому кодексі.
  • Після цього ми приєднали Лист до електронна пошта .
  • Нарешті, використовуйте " .дисплей ", щоб показати наші електронна пошта Тому нам потрібно буде натиснути Надіслати вручну до відправити в "Урядовому кур'єрі". електронні листи Крім того, ми можемо використовувати " .Send " до відправити електронну пошту не показуючи.
  • Тоді, Зберегти і Біжи в "Урядовому кур'єрі". Модуль .

Подивимося, як буде виглядати Лист у вікні. Натисніть Надіслати виконати поставлене завдання.

Ми можемо відкритий файл і перевірте працездатність нашого коду.

Читати далі: Як відправити редаговану електронну таблицю Excel електронною поштою (3 швидких способи)

5. макрос для відправки листа на основі значення комірки

Для останнього методу ми трохи змінили наш набір даних. Ми додали " Оплата Заборгованість " колонка до набору даних. Тут ми відправити an електронна пошта в якому знаходиться місто " Обама "Ми чітко бачимо, що ряд 5 містить його, отже, ми збираємося відправити an електронна пошта тільки цій людині.

Сходинки:

  • По-перше, як показано в методі 1 згадують про Модуль і введіть цей код.
 Option Explicit Sub Send_Email_Condition() Dim xSheet As Worksheet Dim mAddress As String, mSubject As String, eName As String Dim eRow As Long, x As Long Set xSheet = ThisWorkbook.Sheets("Умови") With xSheet eRow = .Cells(.Rows.Count, 5).End(xlUp).Row For x = 5 To eRow If .Cells(x, 4)>= 1 And .Cells(x, 5) = "Обама" Then mAddress = .Cells(x, 3) mSubject = "Вимога на оплату" eName =.Cells(x, 2) Call Send_Email_With_Multiple_Condition(mAddress, mSubject, eName) End If Next x End With End Sub Sub Send_Email_With_Multiple_Condition(mAddress As String, mSubject As String, eName As String) Dim pApp As Object Dim pMail As Object Set pApp = CreateObject("Outlook.Application") Set pMail = pApp.CreateItem(0) With pMail .To = mAddress .CC = "" .BCC = "" .Subject = mSubject .Body ="Пане/пані " & eName & ", будь ласка, сплатіть належну суму протягом наступного тижня." _ & vbNewLine & "Точна сума додається до цього листа." .Attachments.Add ActiveWorkbook.FullName 'Надіслати файл електронною поштою .Display 'Ми можемо використовувати .Send here too End With Set pMail = Nothing Set pApp = Nothing End Sub 

Розбивка коду VBA

  • По-перше, ми скликаємо наш перший Підпроцедура Умова_відправки_електронної пошти .
  • По-друге, ми заявляємо про Змінна типи і налаштування " Умови "як наші Лист .
  • По-третє, останній ряд знайдено, причому наше значення починається з ряд 5 тому ми поклали ряд 5 до останнього ряд в нашому кодексі.
  • Тоді зателефонуйте нашому другому Підпроцедура Надіслати_лист_з_множинною_умовою .
  • Після цього ми відбираємо Перспективи як наші Поштова програма .
  • Після цього, на засіданні електронна пошта зміст задається в нашому коді.
  • Тут ми прикріплюємо Excel подати заяву до електронна пошта за допомогою Вкладення метод.
  • Після цього " .дисплей " використовується тут для відображення нашого електронна пошта Тому нам потрібно буде натиснути Надіслати вручну до відправити в "Урядовому кур'єрі електронні листи Крім того, ми можемо використовувати " .Send " до відправити електронну пошту не показуючи.
  • Тоді, Зберегти і Біжи в "Урядовому кур'єрі". Модуль .

На завершення ми показали вам ще один спосіб відправка an електронна пошта використовуючи Макрос VBA від Excel .

Читати далі: Автоматична відправка електронних листів з Excel на основі вмісту комірок (2 способи)

Практична секція

Ми додали практичні набори даних для кожного методу в Excel файл.

Висновок

Ми показали вам 5 способи використання Макрос до відправити an електронна пошта від Excel Дякуємо за увагу, продовжуйте вдосконалюватися!

Г’ю Вест — досвідчений тренер і аналітик Excel із понад 10-річним досвідом роботи в галузі. Він має ступінь бакалавра з бухгалтерського обліку та фінансів і ступінь магістра з ділового адміністрування. Г’ю має пристрасть до викладання та розробив унікальний підхід до викладання, який легко зрозуміти та дотримуватися. Його експертне знання Excel допомогло тисячам студентів і професіоналів у всьому світі вдосконалити свої навички та досягти успіху в кар’єрі. У своєму блозі Г’ю ділиться своїми знаннями зі світом, пропонуючи безкоштовні навчальні посібники з Excel та онлайн-навчання, щоб допомогти окремим особам і компаніям повністю розкрити свій потенціал.