Note: The other languages of the website are Google-translated. Back to English

 Як надіслати електронну пошту кільком одержувачам у списку з Excel за допомогою Outlook?

Якщо у вас є кілька електронних адрес у стовпці аркуша і зараз, ви хочете надіслати електронний лист до цього списку одержувачів з Excel безпосередньо, не відкриваючи Outlook. У цій статті я розповім про те, як одночасно надсилати електронні листи кільком одержувачам з Excel.

Надішліть електронне повідомлення кільком одержувачам з Excel із кодом VBA

Надсилайте електронне повідомлення кільком одержувачам із поточною книгою як вкладення за допомогою коду VBA


стрілка синя права міхур Надішліть електронне повідомлення кільком одержувачам з Excel із кодом VBA

Ви можете використовувати код VBA для надсилання повідомлення одночасно кільком одержувачам, будь-ласка, виконайте такі дії:

1. Утримуйте клавішу ALT + F11 ключі, щоб відкрити Microsoft Visual Basic для додатків вікна.

2. Натисніть Insert > Модуліта вставте наступний код у Вікно модуля.

Код 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 клавішу для запуску цього коду, з'явиться підказка з нагадуванням про вибір списку адрес, див. знімок екрана:

doc відправити декількох одержувачів 1

4. Потім натисніть OKта Outlook Повідомлення відображається вікно, ви можете бачити, що всі вибрані адреси електронної пошти були додані до До , а потім ви можете ввести тему та скласти своє повідомлення, див. знімок екрана:

doc відправити декількох одержувачів 2

5. Після закінчення повідомлення натисніть, будь ласка Відправити , і це повідомлення буде надіслано цим одержувачам у вашому списку робочих аркушів.


стрілка синя права міхур Надсилайте електронне повідомлення кільком одержувачам із поточною книгою як вкладення за допомогою коду VBA

Якщо вам потрібно надіслати повідомлення кільком одержувачам із поточною книгою як вкладення, ви можете застосувати такий код VBA.

1. Утримуйте клавішу ALT + F11 ключі, щоб відкрити Microsoft Visual Basic для додатків вікна.

2. Клацання Insert > Модуліта вставте наступний код у Вікно модуля.

Код 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 клавішу для запуску цього коду, і з'явиться підказка, щоб нагадати вам про вибір адрес, на які потрібно надіслати повідомлення, див. знімок екрана:

doc відправити декількох одержувачів 3

4. Потім натисніть OK і Outlook Повідомлення відобразиться вікно, всі адреси електронної пошти були додані до До поле, і ваша поточна книга також була вставлена ​​як вкладення, і тоді ви можете ввести тему та скласти своє повідомлення, див. знімок екрана:

doc відправити декількох одержувачів 4

5. Потім натисніть Відправити кнопку, щоб надіслати це повідомлення до списку одержувачів із поточною книгою як вкладенням.


Надсилайте персоналізовані електронні листи кільком одержувачам із різними вкладеннями:

з Kutools для Excel's Надіслати електронні листи функція, ви можете швидко надсилати персоналізовані електронні листи кільком одержувачам з різними вкладеннями з Excel через Outlook, як вам потрібно. У той же час ви також можете CC або Bcc повідомлення для конкретної людини. Клацніть, щоб завантажити Kutools для Excel!

doc надсилати персоналізовані електронні листи 18 1


Пов'язана стаття:

Як надсилати персоналізовані масові електронні листи до списку з Excel за допомогою Outlook?


Найкращі інструменти для підвищення продуктивності офісу

Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

  • Повторне використання: Швидко вставте складні формули, діаграми і все, що ви використовували раніше; Шифрувати комірки з паролем; Створити список розсилки та надсилати електронні листи ...
  • Супер формула бар (легко редагувати кілька рядків тексту та формули); Макет читання (легко читати та редагувати велику кількість комірок); Вставте у відфільтрований діапазон...
  • Об’єднати клітинки / рядки / стовпці без втрати даних; Вміст розділених комірок; Об'єднати повторювані рядки / стовпці... Запобігання дублюючим клітинам; Порівняйте діапазони...
  • Виберіть Повторюваний або Унікальний Рядки; Виберіть Пусті рядки (усі клітинки порожні); Супер знахідка та нечітка знахідка у багатьох робочих зошитах; Випадковий вибір ...
  • Точна копія Кілька клітинок без зміни посилання на формулу; Автоматичне створення посилань на кілька аркушів; Вставте кулі, Прапорці та інше ...
  • Витяг тексту, Додати текст, Видалити за позицією, Видаліть пробіл; Створення та друк проміжних підсумків підкачки; Перетворення вмісту комірок та коментарів...
  • Супер фільтр (зберегти та застосувати схеми фільтрів до інших аркушів); Розширене сортування за місяцем / тижнем / днем, частотою та іншим; Спеціальний фільтр жирним, курсивом ...
  • Поєднайте робочі зошити та робочі аркуші; Об’єднати таблиці на основі ключових стовпців; Розділіть дані на кілька аркушів; Пакетне перетворення xls, xlsx та PDF...
  • Понад 300 потужних функцій. Підтримує Office / Excel 2007-2019 та 365. Підтримує всі мови. Простота розгортання на вашому підприємстві чи в організації. Повна функція 30-денної безкоштовної пробної версії. 60-денна гарантія повернення грошей.
вкладка kte 201905

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Коментарі (12)
Поки немає оцінок. Оцініть першим!
Цей коментар був мінімізований модератором на сайті
Це чудово, саме те, чого я хочу. Чи можна додати функцію, за допомогою якої ви можете додати повідомлення до рядка теми за допомогою коду... Я не хочу нічого у вікні повідомлення
Цей коментар був мінімізований модератором на сайті
Привіт, код VBA добре працює для мене, дякую. Чи можна якимось чином створити осередок із певною кнопкою, яка запускає спливаюче вікно "вибрати список розсилки"? Джейк
Цей коментар був мінімізований модератором на сайті
Привіт, дякую за код. Чи є спосіб створити командну кнопку в Excel, а потім, натиснувши цю кнопку, той самий аркуш Excel можна надіслати кільком одержувачам як вкладення.
Цей коментар був мінімізований модератором на сайті
Як я можу це зробити за допомогою лінії BCC?
Цей коментар був мінімізований модератором на сайті
Привіт, Роберте,
Після запуску коду відкриється нове вікно повідомлення, вам просто потрібно вставити рядок BCC на вкладці Параметри, дивіться наступний знімок екрана:


Сподіваюся, це допоможе вам, дякую!
Цей коментар був мінімізований модератором на сайті
Чи можна використовувати це для надсилання зі спільної електронної пошти? Здається, я не можу вставити поле .SendOnBehalfOf.
Цей коментар був мінімізований модератором на сайті
Привіт ! Щомісяця я повинен надсилати ту саму електронну пошту для різних постачальників, але вони не повинні бути в одній електронній пошті..... як я міг би надіслати той самий електронний лист для різних пунктів призначення, щоб усі не мали однакової електронної пошти ?
Цей коментар був мінімізований модератором на сайті
Привіт, Вініцій,
Щоб надіслати один електронний лист кільком одержувачам окремо, можливо, вам допоможе наступна стаття, перегляньте її.
https://www.extendoffice.com/documents/excel/3560-excel-send-personalized-email.html
Цей коментар був мінімізований модератором на сайті
Ранок,


Я новачок у спробах писати та використовувати макроси в Excel. Моєю першою спробою було створити підмножину масової електронної пошти з великого основного списку. Я вирізав і вставив першу процедуру, а потім спробував використати її, усе, що вона робила, — це виділяла клітинки, які я просив. не створено електронну пошту Outlook, що я зробив не так? Щоб розширити свій фактичний запит, я дійсно хочу націлити електронні листи за поштовим індексом або іншими підмножинами. як створити макрос, який шукатиме стовпець для заданого поштового індексу та створить електронний лист із усіма знайденими одержувачами?

спасибі

Стів
Цей коментар був мінімізований модератором на сайті
У мене є цей код, моя проблема полягає в тому, що він створює один електронний лист для кожного разу, коли умова не виконується, але я хочу помістити всю інформацію, яка не відповідає умові, лише в одному електронному листі

Sub EnviarCorreo()
Зменшіть OutApp як об’єкт
Зменшіть OutMail як об’єкт
Яскравий XNUMXLastRow As Long
Dim lRow As Long
Заглушити sSendTo як рядок
Dim sSendCC як рядок
Заглушити sSendBCC як рядок
Dim sSubject як рядок
Dim sTemp As String

Встановити OutApp = CreateObject("Outlook.Application")
OutApp.Session.Logon

' За потреби змініть наступне
sSendTo = ""
sSendCC = ""
sSendBCC = ""
sSubject = "Надійшов термін"

Встановити OutMail = OutApp.CreateItem(0)

lLastRow = Клітинки(Рядків.Кільк., 3).Кінець(xlUp).Рядок
Для lRow = 3 До lLastRow
Якщо клітинки (lRow, 9) <> "S" Тоді
Якщо клітинки(lRow, 2) <= Дата Тоді

On Error Resume Next
З OutMail
.To = sSendTo
Якщо sSendCC > "" Тоді .CC = sSendCC
Якщо sSendBCC > "" Тоді .BCC = sSendBCC
.Тема = sТема

sTemp = "Привіт!" & vbCrLf & vbCrLf
sTemp = sTemp & "Термін виконання досягнуто"
sTemp = sTemp & "для цього проекту:" & vbCrLf & vbCrLf


«ЦЕ ЩО Я ХОЧУ ПОВТОРИТИ В ТІЛІ ПОШТИ
' Передбачається, що назва проекту вказана в стовпці B
sTemp = sTemp & "ID:"
sTemp = sTemp & " " & клітинки (lRow, 1)
sTemp = sTemp & " Опис: "
sTemp = sTemp & " " & клітинки (lRow, 5)
sTemp = sTemp & " Будь ласка, візьміть відповідне"
sTemp = sTemp & " дія." & vbCrLf & vbCrLf
sTemp = sTemp & " Дякую!" & vbCrLf
'ДО ТУТ



.Body = stemp
' Змініть наступне на .Надіслати, якщо хочете
' надішліть повідомлення без попереднього перегляду
Відображення
Кінець з
Встановіть OutMail = Нічого

Клітинки (lRow, 9) = "S"
Cells(lRow, 10) = "Електронний лист надіслано: " і зараз()
End If
End If
Наступний lРяд
Встановіть OutApp = Нічого
End Sub
Цей коментар був мінімізований модератором на сайті
Чи можна таким же чином підкачати код для вибору CC зі списку після вибору ТО? З існуючим кодом неможливо вибрати будь-які CC так само, як TO (головні адреси). 
Цей коментар був мінімізований модератором на сайті
Привіт Євген, радий допомогти. Після вибору ТО можна таким же чином змінити код для вибору CC зі списку. І код в основному такий же, як і код VBA TOs. Потрібно внести лише одну зміну. Просто змініть ".To = xEmailAddr" на ".Cc = xEmailAddr". Будь ласка, перегляньте скріншот. І ви можете одночасно вибрати CC та TOs зі списку. Просто введіть ".To = xEmailAddr" і ".Cc = xEmailAddr" в код VBA. Будь ласка, вставте наступний код у вікно модуля.
Sub sendmultiple()
'updateby Extendoffice
Зменшіть xOTApp як об’єкт
Змінити xMItem як об’єкт
Dim xCell As Range
Dim xRg As Range
Dim xEmailAddr як рядок
Dim xTxt як рядок
On Error Resume Next
xTxt = ActiveWindow.RangeSelection.Address
Встановіть xRg = Application.InputBox("Виберіть список адрес:", "Kutools для Excel", xTxt, , , , , 8)
Якщо xRg — нічого, вийдіть із Sub
Встановіть xOTApp = CreateObject("Outlook.Application")
Для кожного xCell In xRg
Якщо xCell.Value Як "*@*" Тоді
Якщо xEmailAddr = "" Тоді
xEmailAddr = xCell.Value
Ще
xEmailAddr = xEmailAddr & ";" & xCell.Value
End If
End If
Далі
Встановити xMItem = xOTApp.CreateItem(0)
За допомогою xMItem
.Кому = xEmailAddr
.Cc = xEmailAddr
Відображення
Кінець з
End Sub

Сподіваюся, це зможе вирішити вашу проблему. Гарного дня. З повагою, Менді
There are no comments posted here yet
Залишайте свої коментарі
Публікація як гість
×
Оцініть цю публікацію:
0   Персонажі
Рекомендовані місця