Макрос 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:\out\test.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