Как разослать письма с добавлением адресов в наш список контактов

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

Как макрос работает

Поскольку этот код запускается из Excel, нам нужно установить ссылку на объект Microsoft Outlook Library.. Мы можем установить ссылку, открыв редактор Visual Basic в Excel и выбрав Tools➜References. Прокрутите вниз, пока мы не найдете запись Microsoft Outlook XX Object Library, где XX — это ваша версия Outlook. Поставьте флажок в поле рядом с записью.

Код макроса

Sub RazoslatPismaSDobavleniemAdresovVKniguKontaktov()

'Шаг 1: Объявляем переменные
Dim OLApp As Outlook.Application
Dim OLMail As Object
Dim MyCell As Range
Dim MyContacts As Range

'Шаг 2: Определите диапазон, чтобы пройти через
Set MyContacts = Sheets("Список контактов").Range("H2:H21")
'Шаг 3: Открыть Outlook
Set OLApp = New Outlook.Application
Set OLMail = OLApp.CreateItem(0)
OLApp.Session.Logon

'Шаг 4: Добавить каждый адрес в список контактов
With OLMail
For Each MyCell In MyContacts
.BCC = .BCC & Chr(59) & MyCell.Value
Next MyCell
.Subject = "Образец файла прилагается"
.Body = "Образец файла прилагается"
.Attachments.Add ActiveWorkbook.FullName
.Display
End With

'Шаг 5: Очистка памяти
Set OLMail = Nothing
Set OLApp = Nothing
End Sub

Как этот код работает

  1. Шаг 1 сначала объявляет две переменные. OLApp — это объектная переменная, которая предоставляет Application Outlook . OLMail — это объектная переменная, которая содержит почтовый элемент. MyCell является переменной, которая содержит диапазон Excel. MyContacts является переменной, которая содержит диапазон Excel.
  2. Шаг 2 указывает на переменную MyContacts и диапазон ячеек, в которых находится наши адреса. Это диапазон ячеек, которые мы перебираем для добавления адресов электронной почты в наш список контактов.
  3. Шаг 3 активирует Outlook и начинает новый сеанс. Обратите внимание, что мы используем OLApp.Session. Войдите в систему, чтобы войти в текущий сеанс MAPI (Messaging Programming Interface Application) с учетными данными по умолчанию. Он также создает почтовое сообщение. Это эквивалентно выбору кнопки «Новое сообщение» в Outlook.
  4. Шаг 4 создает профиль нашего почтового отправления. Мы перебираем каждую ячейку в диапазоне MyContacts и добавляем содержимое (адреса электронной почты) в BCC. Мы используем свойство BCC вместо To или CC, чтобы каждый получатель получал электронную почту так, как будто оно было отправлено только ему. Наши получатели не смогут увидеть ни одного из других адресов электронной почты, поскольку они были отправлены с помощью BCC (Blind Courtesy Copy). Этот макрос использует метод .Display, который открывает электронное письмо для просмотра. Мы можем замените .Display на .Send для автоматического запуска электронной почты без проверки.
  5. Как правило, рекомендуется освобождать объекты, назначенные нашим переменным. Это уменьшает вероятность любых проблем, вызванных объектами, которые могут оставаться открытыми в памяти. В коде мы просто устанавливаем переменную Nothing.

Как использовать

Для реализации этого макроса, вы можете скопировать и вставить его в стандартный модуль:

  1. Активируйте редактор Visual Basic, нажав ALT + F11.
  2. Щелкните правой кнопкой мыши имя проекта / рабочей книги в окне проекта.
  3. Выберите Insert➜Module.
  4. Введите или вставьте код.
Оцените статью
Добавить комментарий