Excel макрос по рассылке писем

  • Интернет
  • Рассылка почты

Пример макроса, отправляющего письма со вложениями из Excel через почтовый клиент Outlook:

Sub Отправить_Письмо_из_Outlook()
 
    'отправляем письмо без вложений
    res = SendEmailUsingOutlook("name@domain.ru", "Текст письма 1", "Тема письма 1")
    If res Then Debug.Print "Письмо 1 отправлено успешно" Else Debug.Print "Ошибка отправки"
 
 
    'отправляем письмо с 1 вложением
    attach$ = ThisWorkbook.FullName    ' прикрепляем текущий файл Excel
    res = SendEmailUsingOutlook("name@domain.ru", "Текст письма 2", "Тема письма 2", attach$)
    If res Then Debug.Print "Письмо 2 отправлено успешно" Else Debug.Print "Ошибка отправки"
 
 
    'отправляем письмо с несколькими вложениями
    Dim coll As New Collection    ' заносим в коллекцию список прикрепляемых файлов
    coll.Add "C:Documents and SettingsAdminРабочий столTyres.jpg"
    coll.Add "C:Documents and SettingsAdminРабочий столcalc.xls"
    coll.Add ThisWorkbook.FullName    ' прикрепляем текущий файл Excel

    res = SendEmailUsingOutlook("name@domain.ru", "Текст письма 3", "Тема письма 3", coll)
    If res Then Debug.Print "Письмо 3 отправлено успешно" Else Debug.Print "Ошибка отправки"
End Sub

Макрос использует функцию SendEmailUsingOutlook, которая:

  • принимает в качестве параметров адрес получателя письма, тему и текст письма, список вложений
  • запускает Outlook, формирует письмо, и отправляет его
  • возвращает TRUE, если отправка прошла успешно, или FALSE, если с отправкой почты вызникли проблемы

Код функции SendEmailUsingOutlook:

Function SendEmailUsingOutlook(ByVal Email$, ByVal MailText$, Optional ByVal Subject$ = "", _
                               Optional ByVal AttachFilename As Variant) As Boolean
    ' функция производит отправку письма с заданной темой и текстом на адрес Email
    ' с почтового ящика, настроенного в Outlook для отправки писем "по-умолчанию"
    ' Если задан параметр AttachFilename, к отправляемому письму прикрепляется файл (файлы)

    On Error Resume Next: Err.Clear
    Dim OA As Object: Set OA = CreateObject("Outlook.Application")
    If OA Is Nothing Then MsgBox "Не удалось запустить OUTLOOK для отправки почты", vbCritical: Exit Function
 
    With OA.CreateItem(0)   'создаем новое сообщение
        .To = Email$: .Subject = Subject$: .Body = MailText$
        If VarType(AttachFilename) = vbString Then .Attachments.Add AttachFilename
        If VarType(AttachFilename) = vbObject Then    ' AttachFilename as Collection
            For Each file In AttachFilename: .Attachments.Add file: Next
        End If
        For i = 1 To 100000: DoEvents: Next    ' без паузы не отправляются письма без вложений
        Err.Clear: .Send
        SendEmailUsingOutlook = Err = 0
    End With
    Set OutApp = Nothing
End Function

Пример макроса, с получением параметров письма из ячеек листа Excel: 

Sub Отправить_Письмо_из_Outlook()
    ' адрес получателя - в ячейке A1, текст письма - в ячейке A2
    res = SendEmailUsingOutlook(Cells(1, 1), Range("a2"), "Тема письма 1")
    If res Then Debug.Print "Письмо 1 отправлено успешно" Else Debug.Print "Ошибка отправки"
End Sub
  • 176086 просмотров

Не получается применить макрос? Не удаётся изменить код под свои нужды?

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

Бывает нужно разослать большое количество писем списку контактов из таблицы в Excel.

Это может быть список потенциальных клиентов с мероприятия, выгрузка контактов из программы (1С, Битрикс24, amoCRM), просто список родственников, которые с нетерпением ждут от вас поздравления с праздником или уникального предложения.

Расскажу, как сделать это просто, быстро и бесплатно. Для решения задачи понадобится Excel, Word и Outlook из пакета Microsoft Office.

Итак, например, есть Excel таблица с данными клиентов (ФИО, компания, E-mail) и мы хотим отправить им персонализированное сообщение о предстоящих скидках.

Таблица Excel
Таблица Excel со списком клиентов

Колонка “Пол” потребуется для определения окончания “уважаемый” или “уважаемая”, ее я вычислил по формуле, если “Отчество” заканчивается на “ч” значит это мужчина, если нет — женщина:

=ЕСЛИ(ПРАВСИМВ(C2;1) = "ч"; "М";"Ж")

В новом документе Word наберём шаблон текста сообщения, которое будем отправлять. Вместо обращения, имени и названия компании оставим пока пустые места.

Запустим Мастер Слияния: вкладка Рассылки (Mailings), Начать слияние (Start Mail Merge), далее Пошаговый мастер слияния (Step-by-Step Merge Wizard).

Пошаговый мастер слияния
Запуск пошагового мастера слияния

Откроется мастер, состоящий из 6 этапов.

На перовом этапе выберем пункт Электронное сообщение (E-mail), так как хотим отправить наши сообщения по электронной почте.

Выбор типа документа
Выбор типа документа

На втором этапе нужно указать, какой документ будет использоваться в качестве шаблона, выберем Текущий документ (Current document).

Выбор документа
Выбор документа

Третий этап — выбор получателей. Так как список наших клиентов хранится в файле Excel, выбираем пункт Использование списка, жмем Обзор (Browse) и указываем наш файл.

Выбор получателей
Выбор получателей

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

Получатели слияния
Выбор получателей рассылки

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

Создание сообщения
Создание сообщения

Вставим Фамилию, Имя, Отчество и название компании в наш шаблон, для этого: установим курсор в текст сообщения куда хотим вставить значение поля Excel, нажмем Другие элементы, в открывшемся окне выберем поле, которое хотим вставить, и так для всех полей.

Вставка поля слияния
Вставка поля

Чтобы правильно указать обращение “уважаемый” для мужчин, и “уважаемая” для женщин создадим правило. Жмём кнопку Правила (Rules) на вкладке Рассылки (Mailings) и выберем пункт IF…THEN…ELSE.

Создание правила
Создание правила

В открывшемся окне укажем правило: если поле “Пол” равно “М” — вставить текст “уважаемый”, в противном случае — вставить текст “уважаемая”.

Настройка правила
Настройка правила

В итоге, после вставки полей должен получиться шаблон похожий на мой (вставленные поля выделил красным цветом).

Готовый шаблон слияния
Готовый шаблон слияния

На пятом этапе можно предварительно просмотреть результаты слияния. Для перехода между письмами служат кнопки со стрелками.

Просмотр сообщений
Предварительный просмотр сообщений

На завершающем 6 этапе нужно выбрать единственный пункт Электронная почта.

Завершение слияния
Завершение слияния

Затем в открывшемся окне указать тему отправляемых писем и выбрать в поле Кому столбец нашей таблицы Excel, в котором содержаться адреса получателей

Запуск рассылки
Запуск рассылки

После нажатия на кнопку ОК, Word автоматически подключится к вашему почтовому клиенту Outlook, поместит все сообщения в папку «Исходящие», после чего письма отправятся получателям.

Если вы хотите проверить письма перед отправкой, есть небольшая хитрость, нужно предварительно перевести Outlook в автономный режим Файл — Автономный режим. Письма останутся в исходящих, пока вы не выйдете из автономного режима и при необходимости вы сможете проверить или внести в них изменения.

На этом всё. Но вы можете поддержать проект. Даже небольшая сумма поможет нам писать больше полезных статей.

Если статья помогла или понравилась, пожалуйста поделитесь ей в соцсетях.

Информация о материале
Категория: Макросы Excel

Опубликовано: 24 апреля 2013

Макрос VBA для отправки почтовых сообщений может быть полезен пользователям, адресные книги которых ведутся в рабочих книгах Excel, а также тем, кто занимается e-mail маркетингом. Ниже приведен программный код макроса, отправляющего электронное письмо через почтовый клиент MS Outlook.

Перед запуском макроса необходимо прописать существующие адреса электронной почты для полей «Кому» и «Копия» и указать путь к существующему файлу, который будет приложением к письму (либо закомментировать строку).

Макрос для отправки электронного письма

Sub SendMail()
    Dim objOL As Object
    Dim objMail As Object
    Set objOL = CreateObject("Outlook.Application")
    Set objMail = objOL.CreateItem(0)
        With objMail
            .To = "здесь указывается адрес получателя письма"
            .CC = "здесь указывается адрес получателя копии"
            .Body = "Текст письма"               'указывается текст письма
            .Subject = "Тема письма"             'указывается тема письма
            .Attachments.Add "C:outtest.txt"   'указывается полный путь к файлу
            .Send
        End With
    Set objMail = Nothing
    Set objOL = Nothing
End Sub

Этот же макрос будет работать и при отправке письма из Word, а вот аналогичный макрос для MS Outlook.

Для того, чтобы перенести этот программный код на свой компьютер, наведите курсор мыши на поле с программным кодом, нажмите на одну из двух кнопкок knopka_view_source в правом верхнем углу этого поля, скопируйте программный код и вставьте его в модуль проекта на своем компьютере (подробнее о том, как сохранить программный код макроса).

Надстройка для рассылки электронной почты

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

rassylka pisem iz Excel cherez Outlook

CompleteSolution

надстройка для рассылки электронных писем из Excel через Outlook

Другие материалы по теме:

Возникла задача организации рассылки писем по списку e-mail пользователей в Excel. В каждом письме будут содержаться некоторые данные, индивидуальные для каждого пользователя, и приложен персональный файл. В этой статье, мы рассмотрим, как использовать Outlook для автоматической рассылки писем по списку из Excel с помощью VBA макроса или PowerShell

Содержание:

  • VBA макрос в Excel для рассылки писем из Outlook
  • Отправить письмо из Outlook с помощью PowerShell

Важно. Оба способа отправки писем подразумевают, что на вашем компьютере установлен и настроен почтовый профиль Outlook. Именно с этого почтового ящика (и e-mail адреса) будет выполнятся рассылка.

Допустим, у нас есть Excel файл, содержащий следующие столбцы:

Email пользователя | ФИО | Время последней смены пароля | Статус учетной записи

отправка писем по списку адресов в excel через макрос и outlook

В рамках моей задачи нужно каждому пользователю из списка отправить письмо вида:

Тема: Статус учетной записи в домене winitpro.ru
Тело письма: Уважаемый %FullUsername%
Ваша учетная запись в домене winitpro.ru — %status%
Время последней смены пароля: %pwdchange%

Совет. Если для учетных записей пользователей нужно получить значение одного из атрибутов пользователя в Active Directory, можно воспользоваться решением из статьи Функция Excel для получения данных пользователя из AD.

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

Сначала рассмотрим небольшой макрос отправки писем на языке VBA (Visual Basic for Applications), который можно создать прямо в документе Excel.

Создайте новый макрос: вкладка Вид -> Макросы. Укажите имя макроса send_email и нажмите кнопку Создать:

создать vba макрос в excelВ открывшемся редакторе VBA вставьте следующий код (я снабдил его всеми необходимыми комментариями). Для автоматизации отправки писем я воспользуюсь функцией CreateObject(«Outlook.Application»), позволяющей создать и использовать в скрипте объект приложения Outlook.

Sub send_email()
Dim olApp As Object
Dim olMailItm As Object
Dim iCounter As Integer
Dim Dest As Variant
Dim SDest As String
' тема письма
strSubj = "Статус учетной записи в домене winitpro.ru"
On Error GoTo dbg
' создаем новый объект типа Outlook
Set olApp = CreateObject("Outlook.Application")
For iCounter = 2 To WorksheetFunction.CountA(Columns(1))
' создаем новый элемент (письмо) в Outlook
Set olMailItm = olApp.CreateItem(0)
strBody = ""
useremail = Cells(iCounter, 1).Value
FullUsername = Cells(iCounter, 2).Value

Status = Cells(iCounter, 4).Value
pwdchange = Cells(iCounter, 3).Value
'формируем тело письма
strBody = "Уважаемый " & FullUsername & vbCrLf
strBody = strBody & "Ваша учетная запись в домене winitpro.ru " & Status & vbCrLf
strBody = strBody & "Время последней смены пароля: " & pwdchange & vbCrLf
olMailItm.To = useremail
olMailItm.Subject = strSubj
'добавляем вложение, формат имени файла [email protected] . Если вложение не нужно, закомментируйте следующую строку
olMailItm.Attachments.Add ("C:ps" & useremail & ".txt")
olMailItm.BodyFormat = 1
' 1 - текстовый формат письма, 2 -  HTML формат
olMailItm.Body = strBody
olMailItm.Send
'следующую строку можно использовать для отладки текста письма, закомментировав предыдущую
'MsgBox strBody
Set olMailItm = Nothing
Next iCounter
Set olApp = Nothing
dbg:
'отображение ошибок, если есть
If Err.Description <> "" Then MsgBox Err.Description
End Sub

Данный Excel файл нужно сохранить с расширением xlsm (формат книги Excel с поддержкой макросов). Для запуска рассылки выберите созданную процедуру (макрос) и нажмите кнопку выполнить.

запустить макрос в vba

Макрос последовательно перебирает все строки на листе Excel, формирует и отправляет по одному письму на каждый Email из списка. Отправленные письма сохраняются в папку Sent Items Outlook.

Если вам нужно отправить письмо от имени другого пользователя или общего почтового ящика, нужно предоставить на него права SendAs/Sent on behalf (в случае использования Exchange) и добавить в скрипт строку (перед olMailItm.Send).

olMailItm.SentOnBehalfOfName = "[email protected]"

Отправить письмо из Outlook с помощью PowerShell

В PowerShell можно использовать командлет Send-MailMessage для отправки писем, однако он требует выполнения аутентификации на почтовом сервере перед отправкой и не поддерживает современные методы проверки подлинности, такие как в том числе OAuth и Microsoft Modern Authentication. Поэтому, если на вашем компьютер есть настроенный профиль Outlook, гораздо проще использовать его для отправки писем.

Ниже приведен пример скрипта PowerShell, который получает данные из Excel файла и использует Outlook для отправки письма для каждого пользователя:

# открыть Excel файл
$ExcelObj = New-Object -comobject Excel.Application
$ExcelWorkBook = $ExcelObj.Workbooks.Open("C:PSuser_list.xlsx")
$ExcelWorkSheet = $ExcelWorkBook.Sheets.Item("Sheet1")
# Получаем количество заполненных строк в xlsx файле
$rowcount=$ExcelWorkSheet.UsedRange.Rows.Count
# Перебираем все строки в столбце 1, начиная со второй строки (в этих ячейках указано доменное имя пользователя)
for($i=2;$i -le $rowcount;$i++){
$useremail = $ExcelWorkSheet.Columns.Item(1).Rows.Item($i).Text
$FullUsername =  $ExcelWorkSheet.Columns.Item(2).Rows.Item($i).Text
$Status =  $ExcelWorkSheet.Columns.Item(4).Rows.Item($i).Text
$pwdchange = $ExcelWorkSheet.Columns.Item(3).Rows.Item($i).Text
# формируем тело письма
$strSubj = "Статус учетной записи в домене winitpro.ru"
$strBody = "Уважаемый " + $FullUsername
$strBody = $strBody + " `r`n Ваша учетная запись в домене winitpro.ru " + $Status
$strBody = $strBody + "`r`n Время последней смены пароля: " +  $pwdchange
$strfile="C:ps" + $useremail + ".txt"
# предполагаем, что Outlook открыт, если нет нужно запустить его командой $outlook = new-object -comobject outlook.application
$outlook = [Runtime.InteropServices.Marshal]::GetActiveObject("Outlook.Application")
$email = $outlook.CreateItem(0)
$email.To = $useremail
$email.Subject = $strSubj
$email.Body =  $strBody
# добавить вложение (если нужно)
$email.Attachments.add($strfile)
#отправить письмо
$email.Send()
}
$ExcelWorkBook.close($true)

powershell отправка письма через outlook

Данный PowerShell скрипт предполагает, что на компьютере запущен Outlook. Для каждого email адреса из XLSX файла скрипт генерирует тему и текст письма и прикрепляет файл. Затем выполняется отправка письма.

Содержание

  1. VBA макрос для рассылки писем из Excel через Outlook
  2. Как сделать почтовую рассылку клиентам из таблицы Excel
  3. Отправка писем из Excel через Outlook. E-mail рассылка почты из Excel
  4. Отправка писем макросом
  5. Надстройка для почтовой рассылки из Excel
  6. Возможности надстройки
  7. Видео по работе с надстройкой
  8. Как отправить письма с разных адресов?
  9. Как добавить вложения к письмам?
  10. Как вставить картинку в письмо?
  11. Как отправить письмом отформатированный текст?
  12. Как совместить текст из ячеек с текстом html-файла?
  13. Каким образом можно письма сформировать, но не отправлять?

VBA макрос для рассылки писем из Excel через Outlook

Возникла задача организации рассылки писем по списку email пользователей в Excel. Причем в каждом письме нужно указывать некоторые данные, индивидуальные для каждого пользователя. Я попытался реализовать этот функционал с помощью vba макроса в Excel, который отправляет почту через настроенный на компьютере почтовый профиль Outlook. Ниже мое решение.

Допустим, у нас есть Excel файл, содержащий следующие столбцы:

Email пользователя | ФИО | Время последней смены пароля | Статус учетной записи

В рамках моей задачи нужно каждому пользователю из списка отправить письмо вида:

Создадим новый макрос: вкладка Вид -> Макросы. Укажите имя макроса send_email и нажмите кнопку Создать:

В открывшемся редакторе VBA вставьте следующий код (я снабдил его всеми необходимыми комментариями). Для автоматизации отправки писем я воспользуюсь функцией CreateObject(«Outlook.Application»), позволяющей создать и использовать в скрипте объект приложения Outlook.

Sub send_email()
Dim olApp As Object
Dim olMailItm As Object
Dim iCounter As Integer
Dim Dest As Variant
Dim SDest As String
‘ тема письма
strSubj = «Статус учетной записи в домене winitpro.ru»
On Error GoTo dbg
‘ создаем новый объект типа Outlook
Set olApp = CreateObject(«Outlook.Application»)
For iCounter = 1 To WorksheetFunction.CountA(Columns(1))
‘ создаем новый элемент (письмо) в Outlook
Set olMailItm = olApp.CreateItem(0)
strBody = «»
useremail = Cells(iCounter, 1).Value
FullUsername = Cells(iCounter, 2).Value
Status = Cells(iCounter, 4).Value
pwdchange = Cells(iCounter, 3).Value
‘формируем тело письма
strBody = «Уважаемый » & FullUsername & vbCrLf
strBody = strBody & «Ваша учетная запись в домене winitpro.ru » & Status & vbCrLf
strBody = strBody & «Время последней смены пароля: » & pwdchange & vbCrLf
olMailItm.To = useremail
olMailItm.Subject = strSubj
olMailItm.BodyFormat = 1
‘ 1 — текстовый формат письма, 2 — HTML формат
olMailItm.Body = strBody
olMailItm.Send
‘следующую строку можно использовать для отладки текста письма, закомментировав предыдущую
‘MsgBox strBody
Set olMailItm = Nothing
Next iCounter
Set olApp = Nothing
dbg:
‘отображение ошибок, если есть
If Err.Description <> «» Then MsgBox Err.Description
End Sub

Данный Excel файл нужно сохранить с расширением xlsm (формат книги Excel с поддержкой макросов). Для запуска рассылки выберите созданную процедуру (макрос) и нажмите кнопку выполнить.

Макрос последовательно переберет все строки на листе Excel, сформирует и отправит по одному письму на каждый Email из списка.

Источник

Как сделать почтовую рассылку клиентам из таблицы Excel

Бывает нужно разослать большое количество писем списку контактов из таблицы в Excel.

Это может быть список потенциальных клиентов с мероприятия, выгрузка контактов из программы (1С, Битрикс24, amoCRM), просто список родственников, которые с нетерпением ждут от вас поздравления с праздником или уникального предложения.

Расскажу, как сделать это просто, быстро и бесплатно. Для решения задачи понадобится Excel, Word и Outlook из пакета Microsoft Office.

Итак, например, есть Excel таблица с данными клиентов (ФИО, компания, E-mail) и мы хотим отправить им персонализированное сообщение о предстоящих скидках.

Колонка “Пол” потребуется для определения окончания “уважаемый” или “уважаемая”, ее я вычислил по формуле, если “Отчество” заканчивается на “ч” значит это мужчина, если нет — женщина:

В новом документе Word наберём шаблон текста сообщения, которое будем отправлять. Вместо обращения, имени и названия компании оставим пока пустые места.

Запустим Мастер Слияния: вкладка Рассылки (Mailings), Начать слияние (Start Mail Merge), далее Пошаговый мастер слияния (Step-by-Step Merge Wizard).

Откроется мастер, состоящий из 6 этапов.

На перовом этапе выберем пункт Электронное сообщение (E-mail), так как хотим отправить наши сообщения по электронной почте.

На втором этапе нужно указать, какой документ будет использоваться в качестве шаблона, выберем Текущий документ (Current document).

Третий этап — выбор получателей. Так как список наших клиентов хранится в файле Excel, выбираем пункт Использование списка, жмем Обзор (Browse) и указываем наш файл.

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

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

Вставим Фамилию, Имя, Отчество и название компании в наш шаблон, для этого: установим курсор в текст сообщения куда хотим вставить значение поля Excel, нажмем Другие элементы, в открывшемся окне выберем поле, которое хотим вставить, и так для всех полей.

Чтобы правильно указать обращение “уважаемый” для мужчин, и “уважаемая” для женщин создадим правило. Жмём кнопку Правила (Rules) на вкладке Рассылки (Mailings) и выберем пункт IF…THEN…ELSE.

В открывшемся окне укажем правило: если поле “Пол” равно “М” — вставить текст “уважаемый”, в противном случае — вставить текст “уважаемая”.

В итоге, после вставки полей должен получиться шаблон похожий на мой (вставленные поля выделил красным цветом).

На пятом этапе можно предварительно просмотреть результаты слияния. Для перехода между письмами служат кнопки со стрелками.

На завершающем 6 этапе нужно выбрать единственный пункт Электронная почта.

Затем в открывшемся окне указать тему отправляемых писем и выбрать в поле Кому столбец нашей таблицы Excel, в котором содержаться адреса получателей

После нажатия на кнопку ОК, Word автоматически подключится к вашему почтовому клиенту Outlook, поместит все сообщения в папку «Исходящие», после чего письма отправятся получателям.

Если вы хотите проверить письма перед отправкой, есть небольшая хитрость, нужно предварительно перевести Outlook в автономный режим Файл — Автономный режим. Письма останутся в исходящих, пока вы не выйдете из автономного режима и при необходимости вы сможете проверить или внести в них изменения.

На этом всё. Но вы можете поддержать проект. Даже небольшая сумма поможет нам писать больше полезных статей.

Если статья помогла или понравилась, пожалуйста поделитесь ей в соцсетях.

Источник

Отправка писем из Excel через Outlook. E-mail рассылка почты из Excel

Зачастую базы данных e-mail адресов электронной почты либо ведутся в приложении Excel, либо экспортируются в Excel-файл из других источников, поэтому для многих пользователей актуальным становится вопрос рассылки писем на основе данных, содержащихся в Excel-файлах.

Стандартные возможности Excel ограничиваются отправкой активной рабочей книги по электронной почте (Кнопка Office/Отправить/Электронная почта), в то время как возможности Visual Basic for Application предоставляют пользователям Excel и Outlook практически неограниченные возможности. Существует множество различных способов отправки электронной почты прямо из приложения Excel, как при помощи почтовых клиентов, таких как Outlook или The Bat, так и без их использования. В этой статье речь пойдет об отправке почты из Excel при помощи почтовой программы Outlook.

Отправка писем макросом

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

Надстройка для почтовой рассылки из Excel

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

При помощи полей, расположенных в левой части диалогового окна можно выбрать способ рассылки и задать диапазоны ячеек, данные из которых будут использоваться при формировании электронных писем. Опции правой части диалогового окна позволяют использовать дополнительные параметры, например, подставлять имена получателей в темы и/или тексты писем, отправлять html-файл в теле письма либо использовать стандартную подпись Outlook, которая также представляет собой html-файл. Кроме того разными почтовыми сервисами используются различные ограничения на отправку писем по размеру, по количеству, по скорости отправки и так далее (рекомендуется ознакомиться с ними заранее), и для того чтобы не выходить за рамки этих ограничений, в надстройке предусмотрена опция «Использовать задержку между письмами», которая позволяет настроить паузу между отправкой писем.

Возможности надстройки

С этой надстройкой Вы сможете:

1. Отправлять на разные адреса электронной почты письма одинакового содержания и с одной темой;

* в ячейке для адреса получателя может быть указано несколько адресов электронной почты без пробелов, через знак-разделитель «;» (при этом получатель письма будет видеть все эти адреса).

2. отправлять на разные адреса электронной почты индивидуальные письма со своим содержанием и разными темами;

3. формировать электронные письма из Excel-таблиц путем выделения диапазонов, содержащих необходимую информацию;

4. создавать персональные электронные письма, используя имена получателей в темах и/или в тексте писем (при выборе опций, использующих имена адресатов, поле для выбора диапазона с именами становится активным);

5. устанавливать паузу между отправкой писем;

6. вставлять html-файл в тело письма либо добавлять к тексту письма стандартную подпись, созданную в Outlook;

7. добавлять изображения (картинки) к письму, созданному на основе html-файла;

8. добавлять во вложения к письмам одинаковый набор файлов;

9. добавлять к каждому письму отдельное вложение;

10. отправлять письма из разных аккаунтов, используемых в Microsoft Outlook;

11. форматировать отправляемый текст при помощи html-тэгов прямо в ячейках;

12. создавать электронные письма, но не отправлять их автоматически, а сохранять в черновики для проверки, корректировки и последующего отправления вручную;

13. одним кликом мыши вызывать диалоговое окно макроса прямо из панели инструментов Excel.

Внимание! При автоматизированной рассылке писем необходимо помнить о том, что:

1. При отправке сообщений при помощи макросов и надстроек может появляться окно подтверждения отправки для каждого письма (о том как избавиться от этого окна можно прочитать отдельно);

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

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

Видео по работе с надстройкой

Как отправить письма с разных адресов?

В приложении Outlook может быть настроено несколько учетных записей, при этом отправка писем ведется с того адреса, который используется по умолчанию. Если необходимо сделать так, чтобы рассылка велась с другого адреса, можно написать этот адрес в ячейках столбца на листе Excel и в поле «Учетные записи» диалогового окна надстройки выделить эти ячейки. Более того, можно отправлять письма с разных аккаунтов (все они должны быть настроены в Outlook). Для этого на рабочем листе Excel создается список учетных записей, с которых будет вестись рассылка и диапазон ячеек этого списка указывается в поле «Учетные записи».

Как добавить вложения к письмам?

В надстройке реализовано два разных способа добавления вложений к отправляемым письмам. Установка флажка в поле «Добавить файлы во вложение» позволяет прицепить несколько файлов, при этом выбранный набор файлов будет прикреплен к каждому письму почтовой рассылки. Можно прикрепить индивидуальное вложение к каждому письму, в таком случае используется поле «Вложения», а на рабочем листе для каждого адресата прописывается полный путь к файлу. Этим способом можно вложить только по одному файлу в каждое письмо. Также можно комбинировать описанные выше способы отправки вложений, то есть уникальный файл вложить при помощи поля «Вложения», а одинаковые для всех файлы вложить при помощи установки флажка в поле «Добавить файлы во вложение». Может возникнуть необходимость отправки нескольких персональных файлов каждому адресату. В таком случае необходимо для каждого письма создавать индивидуальные архивы и отправлять их через поле «Вложения». Создание архивов можно выполнять программно, в автоматическом режиме.

Как вставить картинку в письмо?

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

1. Для отправки картинок обычными вложенными файлами достаточно просто установить флажок в поле «Добавить файлы во вложение» и при помощи кнопки обзора выбрать необходимые файлы, не зависимо от того используется html-файл или нет;

2. Чтобы вставить картинку в тело письма, необходимо использовать html-файл. Картинку предварительно нужно выложить в сеть интернет, чтобы она была доступна получателям писем, поместив ее на сервер любого файлобменника, например на www.imageup.ru (либо другой сервис, предоставляющий прямые ссылки). В свою очередь в html-файле достаточно в нужном месте вставить ссылку на эту картинку, а также указать размеры картинки, при этом если ссылка указана правильно, получатель письма должен увидеть изображение в теле письма. Ссылка должна иметь вид:

если изображение размещено на сайте, или

height=39 width=165> если изображение размещено на сервере файлобменника (адрес картинки сгенерирован файлобменником).

Создать html-файл можно при помощи текстового редактора Word, для этого при сохранении файла необходимо выбрать тип файла «Веб-страница (*.htm; *.html)». После сохранения файла, его необходимо открыть при помощи блокнота или текстового редактора NotePad++, вставить в нужное место документа ссылку на картинку, после чего сохранить внесенные изменения.

Как отправить письмом отформатированный текст?

Механизм, используемый для автоматической рассылки писем, позволяет отправлять только неотформатированный текст, то есть, если в ячейках Excel для рассылки приготовлен текст, имеющий переносы строк, измененные цвета и размеры шрифтов, отступы и так далее, то при автоматическом формировании писем все эти настройки формата текста игнорируются. Тем не менее, осуществить отправку отформатированного текста все-таки можно, для этого в тексте писем достаточно использовать html-тэги, например, для переноса строки — тэг br, заключенный в угловые скобки <>, а для того чтобы сделать текст жирным — тэги b и /b, также в угловых скобках каждый. Разобраться достаточно просто.

Как совместить текст из ячеек с текстом html-файла?

При помощи html-тэгов можно решить и более сложную задачу. Предположим, необходимо сделать рассылку отформатированного определенным образом текста в html-файле, обратившись при этом к адресатам по именам. Часть текста при этом содержится в ячейках на рабочем листе, другая часть в html-файле. При помощи html-тэгов в ячейках рабочего листа и подбора параметров шрифта в html-файле можно добиться одинакового отображения текста.

Для решения этой задачи удобнее предварительно объединить имена адресатов с текстом письма при помощи текстовой функции «СЦЕПИТЬ», сохранить результат преобразования в виде значений и уже после этого добавлять необходимые html-тэги. В примере на изображении показано как при помощи тэгов осуществить выравнивание текста по центру, задать курсив, название, размер и цвет шрифта. Образцы файлов прилагаются. После того как все необходимые тэги сформированы в одной ячейке, их можно быстро подставить в начале и в конце значений остальных ячеек столбца. Поможет в этом надстройка для подстановки символов и значений.

Каким образом можно письма сформировать, но не отправлять?

При установке флажка в поле «Создать, но не отправлять» сформированные письма не отправляются автоматически, а сохраняются в папку «Черновики», предоставляя возможность произвести проверку, при необходимости внести изменения и отправить проверенные почтовые сообщения в ручном режиме.

Источник

Иногда, в процессе трудовой деятельности, приходится периодически отправлять различного рода сообщения однотипного характера по списку рассылки. Например, напоминание о предоставлении показаний приборов от разных абонентов, необходимо запрашивать каждое 25-тое число месяца. Это очень муторно и требует каждый раз создавать сообщение, вспоминать адреса электронной почты абонентов, набирать текст сообщения, тему. В принципе это занимает не так много времени, но зачем отвлекаться на то, что можно сделать автоматически использую автоматическую рассылку писем из Excel через Outlook?

В статье «Отправить почту через Excel с помощью макроса» мы разработали функцию, которая создает новое сообщение Outlook из экселя:


Function CreateNewMail(email As String, tema As String, text As String, Optional put_file As String)
'' Создать объект Outlook
Set Mail = CreateObject("outlook.application")
'' Создать новое сообщение
With Mail.CreateItem(olMailItem)
.To = email'' адрес электронной почты
.body = text'' текст сообщения
.Subject = tema '' тема сообщения
.Display '' показать окно сообщения перед отправкой
'' прикрепить файл (при необходимости)
If Len(put_file) <> 0 Then .Attachments.Add put_file
End With
End Function

Для автоматической рассылки писем из excel через outlook необходимо данную функцию доработать, удалив из оператора With строку .Display чтобы окно созданного сообщение не отображалось лишний раз не отвлекая, от более важных дел. А также в конце оператора With добавив строку .Send. Соответственно получится функция следующего вида:


Function CreateNewMail(email As String, tema As String, text As String, Optional put_file As String)
'' Создать объект Outlook
Set Mail = CreateObject("outlook.application")
'' Создать новое сообщение
With Mail.CreateItem(olMailItem)
.To = email'' адрес электронной почты
.body = text'' текст сообщения
.Subject = tema '' тема сообщения
'' прикрепить файл (при необходимости)
If Len(put_file) <> 0 Then .Attachments.Add put_file
.Send '' отправить сообщение
End With
End Function

Теперь необходимо объявить глобальную переменную Vremya для запуска и остановки таймера выполнения макроса рассылки писем из excel через outlook.


Public Vremya '' объявляем глобальную переменную времени, в которое необходимо выполнить макрос

Создаем макрос рассылки писем:


'' отправка сообщения в указанное время
Sub otMessage()
Vremya = Now + TimeSerial(0, 1, 0)'' к текущему времени прибавить одну минуту
Application.OnTime Vremya, "newMessage"'' выполнять отправку сообщения через каждую минуту
End Sub

Переменная Vremya может иметь любое значение вида «15.05.2020 13:23:14». Присваиваем ей значение текущего времени (получая его вызвав встроенную в vba функцию Now) прибавляя к нему одну минуту используя TimeSirial, синтаксис которого приведен ниже:


TimeSerial(ЧАСЫ, МИНУТЫ, СЕКУНДЫ)

На итог переменная Vremya равна текущей дате и времени плюс одна минута.

Дальше используя таймер Application.OnTime ЧЕРЕЗ_СКОЛЬКО_ЗАПУСТИТЬ_МАКРОС, ФУНКЦИЯ запускаем выполнение функции newMessage(). Здесь вводится дополнительная функция newMessage() ввиду невозможности передачи атрибутов используя OnTime.

Сама же функция newMessage() представляет собой следующее:


Function newMessage()
'' вызываем функцию (с передачей необходимых параметров) отправки нового сообщения
Message = CreateNewMail("planero.ru@yandex.ru;", "текст сообщения", "тема сообщения")
'' прекратить отправку сообщений через каждую минуту
Application.OnTime Vremya, "newMessage", , False
End Function

Первым делом вызываем функцию CreateNewMail с передачей ей необходимых атрибутов: адреса электронной почты, текста сообщения, темы сообщения. И после выполнения автоматической отправки письма останавливаем ранее запущенный таймер OnTime в процедуре otMessage.

В итоге получилось реализовать в vba автоматическую рассылку писем из excel через outlook, которая избавит от необходимости отправки однотипно-повторяющихся сообщений. А изменив переменную Vremya под себя, можно сделать рассылку в нужное вам время.

Сам макрос можно написать самому, а можно скачать уже готовый вариант по ссылке.

Комментарии 2

Содержание

    • 0.1 Постановка задачи
    • 0.2 Подготовка списка клиентов в Excel
    • 0.3 Создаем сообщение в Word и подключаем Excel
    • 0.4 Ссылки по теме
  • 1 Добавить «Email рассылки» в Excel 2016, 2013, 2010, 2007
  • 2 Как работать с надстройкой:
  • 3 Отправка писем макросом
  • 4 Надстройка для почтовой рассылки из Excel
  • 5 Возможности надстройки
  • 6 Как вставить картинку в письмо?
  • 7 Как отправить письмом отформатированный текст?
    • 7.1 Другие материалы по теме:
  • 8 Применение инструмента
  • 9 Что необходимо

Постановка задачи

Имеем таблицу в Microsoft Excel, в которой хранится информация о ключевых клиентах нашей компании (адреса эл.почты, имена, названия компаний и т.д.), которых мы хотим поздравить с очередным праздником.

Поздравлять будем при помощи простого, но трогательного сообщения, содержащего имя клиента и название его компании. Причем все надо сделать так, чтобы получатель (не дай бог!) не подумал, что письмо сделано автоматически, а был уверен, что письмо было кропотливо написано ради него вручную.

В конце все созданные сообщения надо:

  • либо отправить через Outlook каждому клиенту на его e-mail
  • либо для последующей отправки обычной почтой
  • либо закинуть в новый файл, где каждое письмо будет отдельным листом (разделом)

В терминах Microsoft Office такая процедура называется Слиянием (Mail Merge). Поехали…

Подготовка списка клиентов в Excel

Таблица со списком клиентов для рассылки должна удовлетворять нескольким простым условиям:

  • Шапка таблицы должна быть простой — одна строка с уникальными названиями столбцов (без повторений и пустых ячеек).
  • В таблице не должно быть объединенных ячеек.
  • В таблице не должно быть пустых строк или столбцов (отдельные пустые ячейки допускаются).

Если планируется отправка по электронной почте, то, само-собой, в таблице должен быть столбец с адресами получателей.

Поскольку Excel и Word не смогу сами определить пол клиента по имени, то имеет смысл сделать отдельный столбец с обращением (господин, госпожа и т.п.) или с родовым окончанием (-ый или -ая) для обращения «Уважаемый(ая)…» Как вариант, возможно полуавтоматическое определение пола в зависимости от окончания отчества («а» или «ч»), реализованное функцией ПРАВСИМВ (RIGHT).

В новых версиях Microsoft Excel 2007/2010 для таких таблиц очень удобно использовать инструмент Форматировать как таблицу (Format as Table) с вкладки Главная (Home). Подробнее про такие «умные таблицы» можно почитать тут.

Создаем сообщение в Word и подключаем Excel

Открываем новый пустой документ в Microsoft Word и набираем туда текст нашего сообщения, оставляя в нем пустые места для будущей вставки имени клиента и его компании.  

Потом запускаем пошаговый Мастер Слияния  на вкладке Рассылки (Mailings) кнопкой Начать слияние (Start Mail Merge) – Пошаговый мастер слияния (Step-by-Step Merge Wizard):

В Word 2003 и старше эта команда была доступна в меню Сервис — Письма и рассылки — Мастер слияния (Tools — Letters and Mailings — Mail Merge).

Далее следует процесс из 6 этапов (переключение между ними — с помощью кнопок Вперед (Next) и Назад (Back) в правом нижнем углу в области задач).

Этап 1. Выбор типа документа.

На этом шаге пользователь должен выбрать тип тех документов, которые он хочет получить на выходе после слияния. Наш вариант — Письма (Letters), если мы хотим на выходе отправить созданные письма на принтер или Электронное сообщение (E-mail), если хотим разослать их по почте.

Этап 2. Выбор документа

На этом шаге необходимо определить, какой документ будет являться основой (заготовкой) для всех будущих однотипных сообщений. Мы выбираем — Текущий документ (Current document).

Этап 3. Выбор получателей

На этом шаге мы подключаем список клиентов в Excel к документу Word. Выбираем Использование списка и жмем на Обзор (Browse), после чего в диалоговом окне открытия файла указываем где лежит наш файл со списком клиентов.

После выбора источника данных, Word позволяет провести фильтрацию, сортировку и ручной отбор записей при помощи окна Получатели слияния:

Этап 4. Создание письма

На этом этапе пользователь должен указать – куда именно в документ должны попасть данные из подключенного списка. Для этого необходимо установить курсор в точку вставки в письме и использовать ссылку Другие элементы — она выводит полный набор всех полей списка, из которого мы и выбираем нужное поле для вставки:

В итоге, после вставки всех полей слияния у нас должно получиться нечто похожее (вставленные поля выделены красным):

Если в исходной таблице не было специального столбца для окончания «ый»/»ая» к слову «уважаем» (как в нашем примере), но был обычный столбец «Пол» с классическими «муж» и «жен», то можно воспользоваться кнопкой Правила (Rules) на вкладке Рассылки (Mailings):

как сделать почтовую рассылку из excel

Эта кнопка открывает список правил (функций и полей), доступных для вставки в документ при создании рассылки. Для подстановки нужного окончания к слову «уважаемый/ая» выберем третий пункт IF…THEN…ELSE. В открывшемся затем окне зададим правило подстановки правильного окончания в зависимости от пола:

как сделать почтовую рассылку из excel

Этап 5. Просмотр писем

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

Этап 6. Завершение слияния

На завершающем этапе возможны несколько вариантов:

Нажатие ссылки Печать (Print) приведет к немедленной отправке всех результатов слияния на принтер без вывода на экран.

Если необходимо сохранить созданные в результате слияния документы для дальнейшего использования или требуется внести ручную правку в некоторые из документов, то лучше использовать ссылку Изменить часть писем (Edit individual letters), которая выведет результаты слияния в отдельный файл:

Если вы на Шаге 1 выбирали опцию Электронные сообщения (E-mail), то на Шаге 6 вам предложат ввести тему для отправляемых сообщений и выбрать столбец таблицы, содержащий адреса электронной почты для рассылки. Затем все созданные сообщения будут помещены в папку Исходящие (Outbox) вашего почтового клиента Outlook.

Для проверки правильности созданных сообщений можно заранее временно отключить Outlook от сервера, чтобы письма сразу не ушли и вы могли их посмотреть и убедиться, что с ними все в порядке. Для этого в меню Microsoft Outlook можно выбрать команду Файл — Автономный режим или даже временно отключить сетевое подключение к вашему компьютеру. Письма временно «застрянут» в папке Исходящие (Outbox) и вы сможете их открыть и проверить перед отправкой.

Ссылки по теме

  • Отправка книги или листа Excel по электронной почте
  • Создание электронных писем с помощью функции ГИПЕРССЫЛКА (HYPERLINK)
  • Инструмент для массовой рассылки сообщений (в т.ч. с вложениями) по списку из надстройки PLEX

Сегодня массовые рассылки почти по умолчанию предполагают персонализацию. Это касается любых рассылок, от корпоративных новостей до массовых маркетинговых кампаний. И любого способа отправки, от стандартного слияния почты в MS Word до специализированных SendGrid или MailChimp. Зачастую единственный общий знаменатель — это список получателей в Excel. Так возможно ли отправлять массовые персонализированные рассылки без помощи Word или других программ?

Надстройка XLTools «Email рассылки» позволяет создать слияние вашей почты со списком получателей в Excel и отправлять массовые персонализированные рассылки напрямую из интерфейса Excel:

  • Не нужно переключаться между окнами, импортировать данные, запускать Word или другие программы
  • Установка связи с любым вашим email через SMTP — Gmail, Yandex, Outlook, т.д.
  • Вложение файлов любого формата с вашего компьютера
  • Вложение одинаковых файлов всем или разных файлов разным получателям
  • TXT или HTML шаблоны сообщения с любыми персонализированными полями

Добавить «Email рассылки» в Excel 2016, 2013, 2010, 2007

Подходит для: Microsoft Excel 2016 – 2007, desktop Office 365 (32-бит и 64-бит).

Скачать надстройку XLTools

как сделать почтовую рассылку из excel

Как работать с надстройкой:

  • Кому будет полезна надстройка XLTools «Email рассылки»
  • Как работает слияние почты в Excel
  • Как связать «Email рассылки» в Excel с вашим почтовым ящиком
  • Как создать список получателей в Excel
  • Как вложить файлы в сообщения email рассылки
  • Как создать шаблон email сообщения и отправить персонализированную рассылку
  • Как выглядит сообщение, отправленное «Email рассылкой», в почтовом ящике получателя
  • Какой лимит отправки сообщений в XLTools «Email рассылки»

Кому будет полезна надстройка XLTools «Email рассылки»

Предположим, ваша компания планирует провести мероприятие, и вам нужно отправить email приглашения 50-60 партнёрам. Чтобы сообщения не выглядели как спам, вам нужно, чтобы каждому партнёру пришло персонализированное письмо с обращением по имени. Кроме того, вы не хотите случайно раскрыть контакты всех партнёров в строке «КОМУ» — так что каждое письмо должно быть адресовано только одному партнёру. Надстройка XLTools «Email рассылки» поможет выполнить рассылку именно так, при этом сэкономив вам время.

  • Используйте эту надстройку, если вы привыкли хранить списки контактов в Excel. Все операции выполняются напрямую в интерфейсе Excel — без необходимости переключаться между email, Excel, Word и файлами вложения.
  • Используйте «Email рассылки» для отправки массовых электронных сообщений с любого вашего email аккаунта: Outlook, Gmail, Yandex, Интернет провайдеры, провайдеры веб-хостинга, сервисы SMTP ретрансляции как SendGrid или MailChimp, т.д.
  • «Email рассылки» для рабочих рассылок: отправляйте приглашения партнёрам, напоминания об оплате счета клиентам, презентации коллегам, отчёты об успеваемости студентам, т.д.
  • «Email рассылки» для личных рассылок: отправляйте план совместной поездки друзьям и семье, повестку собрания членам родительского комитета, т.д.
  • «Email рассылки» для маркетинговых рассылок: отправляйте новостную рассылку подписчикам, специальные предложения клиентам, промо-акции читателям блога, т.д.

Обратите внимание, что надстройка XLTools «Email рассылки» не является сервисом email-рассылок — это надстройка Excel для повышения продуктивности работы. И хотя XLTools не устанавливает лимит отправки, ваш почтовый домен его наверняка устанавливает лимит, как и штрафы за его нарушение.

Как работает слияние почты в Excel

Надстройка XLTools «Email рассылки» НЕ является сервисом email-рассылок. Это надстройка Excel для повышения продуктивности работы, которая упрощает массовую отправку персонализированных рассылок, с быстрой настройкой параметров:

  1. Свяжите «Email рассылки» со своим email аккаунтом.
  2. Создайте список получателей в таблице Excel.
  3. Создайте шаблон email сообщения, добавьте метки для вставки персонализированных данных.
  4. Нажмите «Отправить» — и отправьте массовую персонализированную рассылку, не покидая интерфейса Excel!

Надстройка «Email рассылки» никак не может повлиять на спам-фильтры какой-либо электронной почты. В конечном итоге, вы не можете предугадать, отправит (или не отправит) почтовый ящик получателя ваше письмо в спам. Каждый почтовый домен устанавливает собственные алгоритмы фильтрации спама.

Как связать «Email рассылки» в Excel с вашим почтовым ящиком

Свяжите «Email рассылки» в Excel с вашим почтовым ящиком посредством SMTP (Simple Mail Transfer Protocol — простой протокол передачи электронной почты). Это работает практически с любым email аккаунтом: личной или рабочей почтой на Outlook, Gmail, Yandex, Интернет провайдеры, провайдеры веб-хостинга, сервисы SMTP ретрансляции, т.д.

  1. Нажмите кнопку «Настройки» на вкладке XLTools > Откройте вкладку «Email рассылки (SMTP)».
  2. «Email отправителя» – адрес вашей электронной почты, с которой будет осуществлена рассылка.
    Напр., your_name@gmail.com.
  3. «SMPT Сервер» и «Порт» заполнятся автоматически; в противном случае обратитесь к вашему системному администратору.
  4. «Имя отправителя» – введите свое имя, название компании или любое другое, как оно будет отображаться в почтовом ящике получателей.
    Напр., «Семинары XYZ».
  5. «Имя пользователя» и «Пароль» – привяжите свою электронную почту.
  6. При необходимости отметьте флажком «Использовать SSL/TLS». Криптографические протоколы SSL (Secure Sockets Layer, уровень защищённых сокетов) и TLS (Transport Layer Security, безопасность транспортного уровня) создают безопасную связь между вашим email сервером и вашим компьютером.

Для проверки связи с этой электронной почтой нажмите кнопку «Отправить тестовый Email…». Тестовое сообщение будет сразу же отправлено.

как сделать почтовую рассылку из excel

Как создать список получателей в Excel

Таблица Excel — это удобный способ хранения контактов. Каждая строка содержит сведения об одном получателе. Каждый столбец представляет собой персонализированное поле, напр. Email, Имя, Отчество, т.д. Эта Excel таблица также служит источником данных для «Email рассылок». Данные этих персонализированных полей позднее заместят соответствующие метки в шаблоне email сообщения.

Чтобы создать создание список получателей с нуля:

  1. Нажмите кнопку «Email рассылок» «Создать список рассылки» на панели XLTools.
  2. Отметьте флажками нужные поля, напр., Имя, Фамилия.
    Внимание: столбец «Email» добавляется по умолчанию.
  3. Отметьте флажком «Вложение», если вы хотите приложить файлы.
  4. Укажите, поместить ли список рассылки на новый или на существующий лист. 
  5. Нажмите «Создать» > Готово.
  6. Заполните таблицу своими данными. При необходимости вручную добавьте столбцы для других персонализированных полей, напр. «РегНомер». Число столбцов не ограничено.

как сделать почтовую рассылку из excel

Чтобы использовать свой существующий список контактов:

  1. Откройте ваш список контактов в Excel.
  2. Отформатируйте список как таблицу:
    Выделите диапазон > На вкладке «Главная» нажмите «Форматировать как таблицу» > Выберете любой подходящий стиль таблицы.
  3. Присвойте заголовки столбцам, напр., «Email», «Имя», «Фамилия», «РегНомер», «Вложение», т.д.

как сделать почтовую рассылку из excel

Как вложить файлы в сообщения email рассылки

Вы можете вложить 1 или 2 файла каждому получателю вашей рассылки. Вы можете вложить файл любого формата: PDF, DOCX, PPTX, XLSX, JPEG, т.д. Учтите ограничения вашего почтового домена на размер вложений. Обычно, размер сообщения с вложениями не может превышать 10-20 MB.

  1. Откройте свой список получателей.
  2. Добавьте столбец для указания файловых вложений:
    • Чтобы приложить один файл: добавьте один столбец, напр. «Вложение 1».
    • Чтобы приложить два файла: добавьте два столбца, напр. «Вложение 1» и «Вложение 2».
  3. Укажите путь к файлу на вашем компьютере, напр., C:DocumentsПрограмма-Семинара.pdf.
    • Чтобы отправить один и тот же файл всем получателям: скопируйте путь к файлу во все ячейки столбца вложений.
    • Чтобы отправить разные файлы разным получателям: укажите путь к файлам для каждого получателя индивидуально.
    • Чтобы не отправлять вложений некоторым получателям: оставьте соответствующие ячейки пустыми.

Указанные файлы будут прикреплены к письмам в вашей рассылки. Далее перейдите к созданию шаблона email сообщения.

Как создать шаблон email сообщения и отправить персонализированную рассылку

Email шаблон — это некая заготовка, обезличенное email сообщение. Использование в шаблоне общих меток даёт возможность автоматически персонализировать каждое письмо: надстройка «Email рассылки» возьмёт данные из вашего списка контактов в Excel и заменит эти общие метки конкретными данными для каждого получателя. К примеру, она заменит общую метку на имя получателя «Александр».

  1. Нажмите кнопку «Отправить рассылку» на вкладке XLTools > Откроется диалоговое окно.
  2. Укажите диапазон списка рассылки, включая заголовки.
  3. Подтвердите столбец, который содержит email адреса получателей:
    Напр., выберите поле «Email».
  4. Подтвердите столбцы, которые содержат пути к файлам вложений:
    Напр., выберите поля «Вложение 1» и «Вложение 2».
  5. Напишите «Тему сообщения» так, как она должна отображаться в почтовом ящике получателя.
    Напр., напечатайте «Подтверждение участия в семинаре».
  6. Введите текст сообщения в редакторе:
    • Напечатайте текст сообщения. При необходимости используйте инструменты форматирования текста: шрифт, цвет, выравнивание, вставить ссылку, вставить изображение, т.д.
    • Или, нажмите кнопку «Загрузить HTML из файла», чтобы использовать свой существующий HTML шаблон.
  7. Выбирайте метки из списка возможных и вставляйте их в квадратных скобках:
    Напр., , .

как сделать почтовую рассылку из excel

Внимание: после нажатия кнопки «Отправить» и до окончания отправки будет невозможно внести изменения в список получателей или в шаблон сообщения. Рекомендуем сначала протестировать рассылку. Напр., создайте тестовый список получателей, указав в нём только свои email адреса — и отправьте email себе. Проверьте, чтобы метки корректно замещались персонализированными данными, чтобы в тексте и теме письма не было ошибок и опечаток. Убедитесь, что ваше сообщение выглядит профессионально.

Как только вы нажмёте «Отправить», XLTools «Email рассылки» сразу же начнёт отправку массовой персонализированной рассылки:

  • Email сообщения отправляются одно за другим, напрямую из интерфейса Excel.
  • Статус отправки (либо Sent — отправлено, либо указание ошибки — error) появится в последнем столбце вашего списка рассылки.
  • Отправленные сообщения вы сможете найти в «Исходящих» или «Отправленных» письмах в своём почтовом ящике.
  • Внимание: статус доставки сообщения не отслеживается.

как сделать почтовую рассылку из excel

Как выглядит сообщение, отправленное «Email рассылкой», в почтовом ящике получателя

  • Каждый человек из вашего Excel списка рассылки получает персонализированное email сообщение.
  • Каждое сообщение отправляется индивидуально — получатель не видит email адреса других получателей.
  • Все метки корректно замещаются данными для каждого конкретного получателя.
  • Указанные файлы автоматически прикрепляются к сообщению.

как сделать почтовую рассылку из excel

как сделать почтовую рассылку из excel

Какой лимит отправки сообщений в XLTools «Email рассылки»

Надстройка XLTools «Email рассылки» не является сервисом email-рассылок и не ограничивает число отправляемых email сообщений. Массовая рассылка отправляется с вашего email аккаунта.

Внимание: у каждого почтового домена (поставщика услуг электронной связи) существует своя политика о квотах исходящих сообщений, размера вложений и размера почтового ящика. Превышение лимита отправки грозит блокировкой, занесением в чёрный список или другими санкциями. Свяжитесь с вашим поставщиком и уточните свой лимит на отправку электронных сообщений посредством SMTP.

  • Бесплатные email аккаунты предназначены для личной переписки и не созданы для массовых рассылок. Напр., лимит на Gmail и Yandex составляет около 50-100 писем/день.
  • Рабочая почта или собственные SMTP-серверы допускают гораздо большее число отправленных сообщений.
  • Специализированные сервисы email рассылок, напр. SendGrid или MailChimp, предлагают тысячи сообщений в месяц в зависимости от типа подписки.

Появились вопросы или предложения? Оставьте комментарий ниже.

Зачастую базы данных e-mail адресов электронной почты либо ведутся в приложении Excel, либо экспортируются в Excel-файл из других источников, поэтому для многих пользователей актуальным становится вопрос рассылки писем на основе данных, содержащихся в Excel-файлах.

Стандартные возможности Excel ограничиваются отправкой активной рабочей книги по электронной почте (Кнопка Office/Отправить/Электронная почта), в то время как возможности Visual Basic for Application предоставляют пользователям Excel и Outlook практически неограниченные возможности. Существует множество различных способов отправки электронной почты прямо из приложения Excel, как при помощи почтовых клиентов, таких как Outlook или The Bat, так и без их использования. В этой статье речь пойдет об отправке почты из Excel при помощи почтовой программы Outlook. 

Отправка писем макросом

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

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

как сделать почтовую рассылку из excel

При помощи полей, расположенных в левой части диалогового окна можно выбрать способ рассылки и задать диапазоны ячеек, данные из которых будут использоваться при формировании электронных писем. Опции правой части диалогового окна позволяют использовать дополнительные параметры, например, подставлять имена получателей в темы и/или тексты писем, отправлять html-файл в теле письма либо использовать стандартную подпись Outlook, которая также представляет собой html-файл. Кроме того разными почтовыми сервисами используются различные ограничения на отправку писем по размеру, по количеству, по скорости отправки и так далее (рекомендуется ознакомиться с ними заранее), и для того чтобы не выходить за рамки этих ограничений, в надстройке предусмотрена опция «Использовать задержку между письмами», которая позволяет настроить паузу между отправкой писем.

Возможности надстройки

С этой надстройкой Вы сможете:

1. Отправлять на разные адреса электронной почты письма одинакового содержания и с одной темой;

2. отправлять на разные адреса электронной почты индивидуальные письма со своим содержанием и разными темами;

3. формировать электронные письма из Excel-таблиц путем выделения диапазонов, содержащих необходимую информацию; 

4. создавать персональные электронные письма, используя имена получателей в темах и/или в тексте писем (при выборе опций, использующих имена адресатов, поле для выбора диапазона с именами становится активным);

5. устанавливать паузу между отправкой писем;

6. вставлять html-файл в тело письма либо добавлять к тексту письма стандартную подпись, созданную в Outlook;

7. добавлять изображения (картинки) к письму, созданному на основе html-файла;

8. добавлять во вложения к письмам одинаковый набор файлов;

9. добавлять к каждому письму отдельное вложение;

10. отправлять письма из разных аккаунтов, используемых в Microsoft Outlook;

11. форматировать отправляемый текст при помощи html-тэгов прямо в ячейках;

12. одним кликом мыши вызывать диалоговое окно макроса прямо из панели инструментов Excel.

видео по работе с надстройкой

как сделать почтовую рассылку из excel

надстройка для рассылки писем из Excel через Microsoft Outlook

Внимание! При автоматизированной рассылке писем необходимо помнить о том, что:

1. При отправке сообщений при помощи макросов и надстроек может появляться окно подтверждения отправки для каждого письма (о том как избавиться от этого окна можно прочитать отдельно);

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

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

Как вставить картинку в письмо?

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

1. Для отправки картинок обычными вложенными файлами достаточно просто установить флажок в поле «Добавить файлы во вложение» и при помощи кнопки обзора выбрать необходимые файлы, не зависимо от того используется html-файл или нет;

2. Чтобы вставить картинку в тело письма, необходимо использовать html-файл. Картинку предварительно нужно выложить в сеть интернет, чтобы она была доступна получателям писем, поместив ее на сервер любого файлобменника, например на www.imageup.ru (либо другой сервис, предоставляющий прямые ссылки). В свою очередь в html-файле достаточно в нужном месте вставить ссылку на эту картинку, а также указать размеры картинки, при этом если ссылка указана правильно, получатель письма должен увидеть изображение в теле письма. Ссылка должна иметь вид:

 если изображение размещено на сайте, или

если изображение размещено на сервере файлобменника (адрес картинки сгенерирован файлобменником).

Создать html-файл можно при помощи текстового редактора Word, для этого при сохранении файла необходимо выбрать тип файла «Веб-страница (*.htm; *.html)». После сохранения файла, его необходимо открыть при помощи блокнота или текстового редактора NotePad++, вставить в нужное место документа ссылку на картинку, после чего сохранить внесенные изменения.

Как отправить письмом отформатированный текст?

Механизм, используемый для автоматической рассылки писем, позволяет отправлять только неотформатированный текст, то есть, если в ячейках Excel для рассылки приготовлен текст, имеющий переносы строк, измененные цвета и размеры шрифтов, отступы и так далее, то при автоматическом формировании писем все эти настройки формата текста игнорируются. Тем не менее, осуществить отправку отформатированного текста все-таки можно, для этого в тексте писем достаточно использовать html-тэги, например, для переноса строки — тэг br, заключенный в угловые скобки , а для того чтобы сделать текст жирным — тэги b и /b, также в угловых скобках каждый. Разобраться достаточно просто.

Другие материалы по теме:

Привет! Сегодня решил осветить один из тех инструментов, а именно массовую рассылку (слияние) документов. Этот инструмент относится к тем, что:

  • легки в использовании
  • малоизвестны
  • приносят охрененную пользу

и еще один нюанс — это единственный из всех инструментов, который использует связь с Word. Даже более того, этот инструмент больше относится к Word, чем к Excel.

Итак, начинаем.

Применение инструмента

Представим ситуацию. Вы начальник отдела кадров, в котором утвержденный проект трудового договора. Каждый сотрудник, включая гендира, подписывает ежегодно один и тот же документ, который каждый раз отличается только в деталях, индивидуально присущих каждому человеку — ФИО, должность, зарплата, домашний адрес и т.д.

Или ситуация — когда надо отправить одно и то же письмо куче адресатов — новогоднее поздравление, приглашение на благотворительный концерт, уведомление — маркетологи например часто вынуждены клепать подобные письма с конвертами своим клиентам.

Как обычно делается? Либо вы вносите каждый раз перед распечаткой в установленный шаблон нужные изменения либо создаете на каждого сотрудника (адресата) отдельный документ, в котором только корректируете дату подписания.

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

Что необходимо

В первую очередь нам нужны:

  • Документ-шаблон в Word’е
  • Список адресатов с их характеристиками (адресами, полом, обращением…)

У меня для примера простенькое письмецо:

Серым отмечены блоки, индивидуальные для каждого адресата. Как видите, нужно подготовить обращение (Уважаемый/Уважаемая), нужные поля в родительном падеже (Иванову). Соответственно, на каждый такой блок я готовлю табличку в Excel:

Делаем слияние

Слияние — вот  как называется этот инструмент. Для этого открываем наш шаблон в Word и нажимаем на вкладке «Рассылки» — «Начать слияние» — «Пошаговый мастер слияния».

Далее появится справа панель, где поэтапно надо выбирать нужный вариант.

  1. Выбор типа документа. Я выбрал «Письма»
  2. Открытие документа. Я уже открыл, поэтому «Текущий документ».
  3. Выбор получателей. У меня уже готовый список, поэтому «Использование списка» и Обзор. Там выбираю свой файл.
  4. Создание письма. Мне много блоков надо ввести, поэтому поочередно выбираю нужное место в письме и через «Другие элементы» вставляю нужный мне элемент.
  5. Просмотр писем. Здесь можно прокрутить ваши записи, т.е. посмотреть все документы, нажимая на соответствующие стрелочки.
  6. Завершение слияния. Тут есть два варианта — «Печать» — можете готовые документы, при этом выбрав только тех, кто нужен. И другой вариант «Изменить часть писем» — здесь каждый документ формируется друг за другом. Это нужно для того, чтобы внести какие-то редкие изменения, которые просто нецелесообразно втыкать в таблицу. При этом также можно выбрать какие письма вам выгрузятся в Word, а какие не нужны.

Сохраните документ. Потом при открытии вас будут спрашивать

Отвечаете «Да» и можете просматривать шаблон с текущими адресами прямо на панели, слияние делать больше не придется.

Очевидный плюс этого инструмента — никакой рутины. Подготовка документа будет сводиться лишь к открытию, выбору адресатов и распечатке (отправке).

Обычно я делаю быструю пояснялку для Youtube, но этот инструмент уже освещен в моем бесплатном часовом видеокурсе «. Все мои подписчики его получили, если же его у вас нет, можете его получить, введя в поле в правой части свои контакты и после подтверждающего письма (где надо кликнуть на ссылке) вам придет письмо со ссылкой на видеокурс. Там вы заодно познакомитесь еще с 9ю инструментами, которые приносят огромную пользу в работе всем пользователям Excel.

«Глаза боятся, а руки делают»

P.S. Понравилась статья? Подпишитесь на рассылку в правой части страницы (Бесплатный курс «Топ-10 инструментов Excel») и будьте в курсе новых событий.

Понравилась статья? Поделить с друзьями:
  • Excel макрос по поиску строки
  • Excel макрос по копированию данных в ячейку
  • Excel макрос по возрастанию
  • Excel макрос по алгоритму
  • Excel макрос печать нескольких листов