Как отправить письмо нескольким получателям из списка Excel через Outlook?
Во многих рабочих ситуациях вам может понадобиться отправить сообщения группе людей, чьи адреса электронной почты хранятся в столбце листа Excel — например, для рассылки новостей, отправки счетов или уведомления участников мероприятия. Вместо того чтобы вручную вводить каждый адрес или открывать Outlook для создания письма, вы можете использовать Excel для автоматической отправки сообщений всем получателям напрямую. Это руководство предлагает подробные решения по массовой отправке писем из Excel с интеграцией в Outlook, что поможет сэкономить время и снизить количество ошибок.
Отправка письма нескольким получателям из Excel с помощью кода VBA
Отправка письма нескольким получателям с прикреплением Текущая книга с помощью кода VBA
Отправка письма нескольким получателям из Excel с помощью кода VBA
Если вы хотите отправить одно и то же письмо группе людей, а их адреса указаны в столбце листа, вы можете автоматизировать эту задачу с помощью кода VBA. Этот метод особенно удобен для массовых уведомлений или групповых обновлений — без необходимости вручную добавлять получателей в Outlook. Выполните следующие шаги:
1. Нажмите сочетание клавиш ALT + F11, чтобы открыть окно Microsoft Visual Basic for Applications. Если вкладка «Разработчик» не активирована, инструкции по её включению можно найти в настройках Excel.
2. В окне редактора VBA выберите Вставка > Модуль. Откроется пустое окно модуля, в которое вы сможете вставить свой код. Вставьте следующий код:
Код VBA: отправка письма нескольким получателям
Sub sendmultiple()
'updateby Extendoffice
Dim xOTApp As Object
Dim xMItem As Object
Dim xCell As Range
Dim xRg As Range
Dim xEmailAddr As String
Dim xTxt As String
On Error Resume Next
xTxt = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Please select the addresses list:", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub
Set xOTApp = CreateObject("Outlook.Application")
For Each xCell In xRg
If xCell.Value Like "*@*" Then
If xEmailAddr = "" Then
xEmailAddr = xCell.Value
Else
xEmailAddr = xEmailAddr & ";" & xCell.Value
End If
End If
Next
Set xMItem = xOTApp.CreateItem(0)
With xMItem
.To = xEmailAddr
.Display
End With
End Sub
3. Нажмите клавишу F5(или кнопку «Выполнить»), чтобы запустить код. Появится диалоговое окно с запросом на выбор списка адресов из вашего листа. На этом этапе вы можете легко выделить все ячейки с нужными адресами электронной почты, гарантируя, что код обработает только те из них, которые соответствуют формату электронной почты ()*@*). См. скриншот:

4. После выбора адресов нажмите кнопку ОК. Outlook откроет новое окно Сообщение, автоматически заполнив выбранные адреса в поле Кому. Теперь вы можете указать тему и написать текст сообщения в соответствии с вашими потребностями. При необходимости окно позволяет дополнительно редактировать письмо для персонализации или уточнения. См. скриншот:

5. После завершения составления сообщения нажмите кнопку Отправить, чтобы отправить письмо всем указанным получателям одновременно. Такой подход гарантирует, что ни один адрес не будет упущен, и значительно ускоряет групповую коммуникацию.
Совет: убедитесь, что Outlook установлен и задан в качестве основного почтового клиента — это необходимо для корректной работы метода. Если возникают проблемы, например не появляется диалоговое окно, дважды проверьте настройки безопасности макросов в Excel.
Применимые сценарии: используйте этот метод для объявлений команде, уведомлений о мероприятиях или отправки одинаковой информации нескольким получателям. Преимущества — высокая скорость и точность при минимальном ручном вводе; ограничение — отсутствие персонализации сообщений для отдельных получателей.
Устранение неполадок: если окно сообщения Outlook не открывается, убедитесь, что Outlook запущен корректно и назначен обработчиком почты по умолчанию. Также проверьте, что все выбранные ячейки содержат корректные адреса электронной почты — в коде предусмотрена обработка ошибок, но для наилучшего результата избегайте пустых или неправильно отформатированных ячеек.
Отправляйте персонализированные письма нескольким получателям с разными вложениями: Для решения более сложных задач — таких как отправка уникальных вложений, персонализированного содержимого или автоматическое добавление адресов в поля «Копия»/«Скрытая копия» — воспользуйтесь функцией Kutools для Excel Отправка писем, чтобы быстро и легко рассылать персонализированные письма из Excel через Outlook. Эта функция позволяет настраивать письма под каждого получателя, прикреплять отдельные файлы и добавлять адресатов в поля копии (CC/Bcc) в соответствии с вашими требованиями — для ещё более гибкой массовой рассылки.Нажмите, чтобы загрузить Kutools для Excel!
|
Отправка письма нескольким получателям с прикреплением Текущая книга с помощью кода VBA
Если вам нужно отправить текущую книгу Excel группе получателей во вложении, следующее решение на основе VBA поможет автоматизировать этот процесс. Этот метод идеально подходит для распространения отчётов, финансовых сводок или совместных документов среди нескольких заинтересованных сторон.
1. Откройте Excel и нажмите ALT + F11, чтобы запустить среду Microsoft Visual Basic for Applications.
2.В редакторе VBA перейдите в меню Вставка>Модуль, затем скопируйте и вставьте приведённый ниже код в окно модуля:
Код VBA: отправка письма нескольким получателям с прикреплением Текущая книга
Sub EmailAttachmentRecipients()
'updateby Extendoffice
Dim xOutlook As Object
Dim xMailItem As Object
Dim xRg As Range
Dim xCell As Range
Dim xEmailAddr As String
Dim xTxt As String
On Error Resume Next
xTxt = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Please select the arresses list:", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub
Set xOutlook = CreateObject("Outlook.Application")
Set xMailItem = xOutlook.CreateItem(0)
For Each xCell In xRg
If xCell.Value Like "*@*" Then
If xEmailAddr = "" Then
xEmailAddr = xCell.Value
Else
xEmailAddr = xEmailAddr & ";" & xCell.Value
End If
End If
Next
With xMailItem
.To = xEmailAddr
.CC = ""
.Subject = ""
.Body = ""
.Attachments.Add ActiveWorkbook.FullName
.Display
End With
Set xOutlook = Nothing
Set xMailItem = Nothing
End Sub
3. Нажмите клавишу F5, чтобы запустить код. Появится диалоговое окно для выбора ячеек с адресами электронной почты. Этот механизм позволяет легко включить всех нужных получателей из листа и гарантирует добавление только корректно отформатированных адресов электронной почты. См. скриншот:

4. После подтверждения выбора нажмите кнопку ОК. Outlook автоматически создаст новое окно Сообщение, в котором в поле Кому будут указаны выбранные получатели, а к письму будет прикреплена текущая открытая книга. Затем вы сможете настроить тему и текст сообщения перед отправкой. См. скриншот:

5. Нажмите кнопку Отправить, чтобы отправить письмо с прикреплённой книгой всем выбранным получателям за один раз.
Внимание: если ваша книга содержит конфиденциальную информацию, внимательно проверьте список получателей перед отправкой. В случае ошибки прикрепления файла убедитесь, что книга сохранена, не открыта в другой программе и что Outlook правильно настроен для отправки писем через автоматизацию.
Сценарии использования: это решение идеально подходит для регулярной рассылки отчётов, отправки совместных книг и обмена справочными файлами с командами или клиентами. Оно обеспечивает эффективную массовую доставку документов, однако не поддерживает возможность прикреплять разные файлы для разных получателей.
Типичные проблемы: если диалоговое окно не открывается или письмо не отправляется, убедитесь, что вы предоставили разрешения на выполнение макросов и сохранили книгу до запуска кода. Также проверьте выделенный диапазон на наличие пустых ячеек — код пропускает содержимое, не соответствующее стандартному формату электронной почты.
Альтернативное решение: отправка Адрес электронной почты, разделённых точками с запятой, с использованием формулы Excel
Если вы хотите быстро объединить список адресов электронной почты в одну ячейку, разделив их точкой с запятой для удобного копирования в поля Кому, Копия или Скрытая копия Outlook, формулы Excel предложат быстрое и простое решение — особенно если вы не хотите использовать макросы.
1. Предположим, ваши адреса электронной почты перечислены в столбце A, строки 1–7. Введите следующую формулу в пустую ячейку (например, B1):
=TEXTJOIN(";",TRUE,A1:A7) 2. Нажмите клавишу Enter. В результате вы получите одну текстовую строку, содержащую все адреса электронной почты из выбранного диапазона, разделённые точками с запятой. Затем эту ячейку можно скопировать и вставить напрямую в поля получателей Outlook.
Параметры формулы:
- TEXTJOIN: объединяет диапазон ячеек с помощью указанного разделителя — в данном случае точки с запятой.
- ИСТИНА: исключает все пустые ячейки в диапазоне. Все корректные адреса электронной почты будут объединены без пропусков.
- A1:A10: измените этот диапазон под свой список адресов электронной почты.
Преимущества: этот подход не требует включения макросов, что делает его идеальным для сред с ограничениями на использование VBA. Кроме того, он позволяет легко и быстро копировать собранный список в любую почтовую платформу — не только в Outlook.
Ограничения: в отличие от VBA, это решение не создаёт электронные письма автоматически и не автоматизирует их отправку, но значительно повышает эффективность работы со списками получателей.
Совет: если ваш список изменяется, обязательно обновите диапазон формулы соответствующим образом. Для форматов с разделителями, отличными от точки с запятой, замените «;» на нужный вам символ.
Связанная статья:
Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…
Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу
- Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
- Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!
Все надстройки Kutools — один установщик
Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.
- Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек
