Зачастую базы данных 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 и простоту в использовании. Ниже представлено диалоговое окно надстройки.

kak otpravit pisma iz excel

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

rassylka-pisem-iz-Excel-cherez-Outlook

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

Downloadскачать макрос (надстройку) для рассылки писем из Excel

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

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

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

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

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

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

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

2. Чтобы вставить картинку в тело письма, необходимо использовать html-файл. Картинку предварительно нужно выложить в сеть интернет, чтобы она была доступна получателям писем, поместив ее на сервер любого файлобменника, например на http://dim.st/img. В свою очередь в html-файле достаточно в нужном месте вставить ссылку на эту картинку, а также указать размеры картинки, при этом если ссылка указана правильно, получатель письма должен увидеть изображение в теле письма. Ссылка должна иметь вид:

<img src='http://macros-vba.ru/files/Logo.png' height=39 width=165>  если изображение размещено на сайте, или

<img src='http://dim.st/i21590.png' height=39 width=165> если изображение размещено на сервере файлобменника (адрес картинки сгенерирован файлобменником).

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

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

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