Макрос для отправки электронной почты из Excel (5 подходящих примеров)

  • Поделись Этим
Hugh West

В этой статье мы расскажем вам 5 Макро на отправить письмо с сайта Excel Для демонстрации наших методов мы выбрали набор данных с 3 колонны : " Имя ", " Электронная почта ", и " Город ".

Скачать Практическое пособие

Использование макроса для отправки электронной почты.xlsm

5 способов использования макроса для отправки электронной почты из Excel

1. использование библиотеки объектов Outlook для отправки электронной почты

Для первого Макро мы включим " Библиотека объектов Microsoft Outlook 16.0 " к отправить сайт электронная почта с сайта Excel Более того, нам нужно войти в наш Outlook счёт в Excel .

Шаги:

В начале мы собираемся поднять тему Visual Basic окно.

  • Во-первых, из Разработчик вкладка>>> выбрать Visual Basic .

В качестве альтернативы можно нажать ALT + F11 для отображения VBA окно.

  • Во-вторых, из Инструменты >>> выберите " Ссылки... ".

Новый диалоговое окно появится.

  • В-третьих, выберите " Библиотека объектов Microsoft Outlook 16.0 ", и нажмите OK .

Таким образом, мы включим Библиотека объектов 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]" 'etem.BCC = "[email protected]" eItem.Subject = "Sending Email using VBA from Excel" eItem.Body = "Hello," & vbNewLine &"Hope this email finds you well." & _ vbNewLine & vbNewLine & _ "Sincerely," & vbNewLine & "Exceldemy" 'If you want to attach this workbook, then uncomment these two lines from below 'Source = ThisWorkbook.FullName 'eItem.Attachments.Add Source eItem.Display 'can use .Send End Sub 

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

  • Во-первых, мы вызываем наш Подпроцедура Макрос_Отправить_почту .
  • Во-вторых, мы объявляем переменная типы.
  • В-третьих, мы выбираем Outlook как наш Почтовое заявление .
  • Затем, мы выбираем наш электронная почта адрес отправки ячейка C5 .
  • После этого электронная почта содержимое установлено в нашем коде.
  • Наконец, " Свойство отображения VBA " используется здесь для отображения нашего электронная почта . Поэтому нам нужно нажать Отправить вручную, чтобы отправить сайт электронные письма Более того, мы можем использовать " Отправить собственность " к отправлять электронные письма без отображения.
  • После этого, Сохранить и закройте Модуль .

Теперь мы Запускайте код.

  • Во-первых, из Разработчик вкладка>>> выбрать Макросы .

Сайт Диалоговое окно макроса появится.

  • Во-вторых, выберите наш Подпроцедура " Макрос_Отправить_почту ".
  • Наконец, нажмите Запускайте .

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

Читать далее: Отправка электронной почты из Excel VBA без Outlook (4 подходящих примера)

2. Макрос для отправки электронной почты из учетной записи Gmail в Excel

Для этого метода нам необходимо менее безопасный доступ к приложениям из Gmail учетную запись. Кроме того, нам нужно включить Microsoft CDO из Ссылки меню.

Шаги:

  • Во-первых, как показано в первом методе , поднимите Диалоговое окно "Ссылки .
  • Во-вторых, выберите " Библиотека Microsoft CDO для Windows 2000 " и нажмите OK .

  • В-третьих, зайдите в Безопасность из вашего Настройки аккаунта 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 With With cMail Set .Configuration = cConfig End With cMail.Subject =cSubject 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

  • Во-первых, мы вызываем наш Подпроцедура Send_Gmail_Macro .
  • Во-вторых, мы объявляем переменная типы.
  • В-третьих, мы устанавливаем электронная почта содержание в нашем коде.
  • Затем, мы предоставляем нашим учетные данные для входа в систему Вам нужно напечатать свой собственный ID и Пароль здесь.
  • После этого мы наметили порт на 465 .
  • Наконец, мы отправка наш электронная почта .
  • Тогда, Сохранить и Запускайте этот код.

Мы успешно отправлено сайт электронная почта на наш адрес.

Подробнее: Макрос для отправки электронной почты из 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 'Вы можете использовать .Send здесь End With Set pMail = Nothing Set pApp = Nothing End Sub 

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

  • Во-первых, мы вызываем наш Подпроцедура Макрос_Send_Email_From_A_List .
  • Во-вторых, мы объявляем переменная типы.
  • В-третьих, мы выбираем Outlook как наш Почтовое заявление .
  • Затем, мы находим последний ряд , который 10 для нашего набора данных.
  • После этого, по мере того как наши электронная почта начинается с ряд 5 мы ввели 5 в качестве начального значения для " переменная z ". Более того, наши электронные письма находятся на Колонка C поэтому мы ввели 3 внутри Клетки собственность.
  • Затем мы устанавливаем электронная почта содержание в нашем коде.
  • Наконец, " .Дисплей " используется здесь для отображения нашего электронная почта . Поэтому нам нужно нажать Отправить вручную, чтобы отправить сайт электронные письма Более того, мы можем использовать " .Отправить " к отправить письмо без отображения.
  • Тогда, Сохранить и Запускайте сайт Модуль .

Мы видим, что все наши электронные письма отображаются в 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 = "Macro to Send Single Sheet via Email" .Body = "Dear RecieverName," & vbCrLf & vbCrLf & _ "Your requested file is attached" .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

  • Во-первых, мы вызываем наш Подпроцедура Macro_Email_Single_Sheet .
  • Во-вторых, мы объявляем переменная типы.
  • В-третьих, мы копируем Активный лист и сохранить его как отдельный Рабочая тетрадь .
  • После этого мы выбираем Outlook как наш Почтовое заявление .
  • Затем мы устанавливаем электронная почта содержание в нашем коде.
  • После этого мы присоединили Лист к электронная почта .
  • Наконец, используйте " .Дисплей " для отображения нашего электронная почта . Поэтому нам нужно нажать Отправить вручную, чтобы отправить сайт электронные письма Более того, мы можем использовать " .Отправить " к отправить письмо без отображения.
  • Тогда, Сохранить и Запускайте сайт Модуль .

Мы увидим Лист имя в окне. Нажмите Отправить для выполнения задания.

Мы можем открыть файл и убедитесь, что наш код работает.

Читать далее: Как отправить редактируемую электронную таблицу Excel по электронной почте (3 быстрых способа)

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

Для последнего метода мы немного изменили наш набор данных. Мы добавили " Оплата Должен " колонка к набору данных. Здесь мы будем отправить сайт электронная почта в котором находится город " Обама ". Мы можем ясно видеть, что ряд 5 содержит его, поэтому мы собираемся отправить сайт электронная почта только для этого человека.

Шаги:

  • Во-первых, как показано в методе 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("Conditions") With xSheet eRow = .Cells(.Rows.Count, 5).End(xlUp).Row For x = 5 To eRow If .Cells(x, 4)>= 1 And .Cells(x, 5) = "Obama" Then mAddress = .Cells(x, 3) mSubject = "Request For Payment" 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 ="Mr./Mrs. " & eName & ", Please pay the due amount within the next week." _ & vbNewLine & "The exact amount is attached with this email." .Attachments.Add ActiveWorkbook.FullName 'Send The File via Email .Display 'We can use .Send here too End With Set pMail = Nothing Set pApp = Nothing End Sub 

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

  • Во-первых, мы называем наш первый Подпроцедура Send_Email_Condition .
  • Во-вторых, мы объявляем Переменная типы и настройка " Условия " как наш Лист .
  • В-третьих, последний строка число найдено. Более того, наше значение начинается с ряд 5 поэтому мы поставили ряд 5 до последнего строка в нашем коде.
  • Затем вызовите наш второй Подпроцедура Send_Email_With_Multiple_Condition .
  • После этого мы выбираем Outlook как наш Почтовое заявление .
  • Затем электронная почта содержимое установлено в нашем коде.
  • Здесь мы прикрепляем Excel файл с электронная почта используя Вложение метод.
  • После этого " .Дисплей " используется здесь для отображения нашего электронная почта . Поэтому нам нужно нажать Отправить вручную, чтобы отправить сайт электронные письма Более того, мы можем использовать " .Отправить " к отправить письмо без отображения.
  • Тогда, Сохранить и Запускайте сайт Модуль .

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

Читать далее: Автоматическая отправка электронных писем из Excel на основе содержимого ячеек (2 метода)

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

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

Заключение

Мы показали вам 5 методы использования Макро на отправить сайт электронная почта с сайта Excel Спасибо за чтение, продолжайте совершенствоваться!

Хью Уэст — опытный тренер и аналитик Excel с более чем 10-летним опытом работы в отрасли. Он имеет степень бакалавра в области бухгалтерского учета и финансов и степень магистра делового администрирования. Хью страстно любит преподавать и разработал уникальный подход к обучению, которому легко следовать и который легко понять. Его экспертные знания Excel помогли тысячам студентов и специалистов по всему миру улучшить свои навыки и преуспеть в своей карьере. В своем блоге Хью делится своими знаниями со всем миром, предлагая бесплатные учебные пособия по Excel и онлайн-обучение, чтобы помочь отдельным лицам и компаниям полностью раскрыть свой потенциал.