Note: The other languages of the website are Google-translated. Back to English
Увійти  \/ 
x
or
x
Реєстрація  \/ 
x

or

 Як надіслати електронну пошту кільком одержувачам у списку з 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% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Jose · 2 years ago
    I have this Code, my problem is that it creates one email for each time the condition is not complete, but i want to put all the info that dont reach the condition in only one email

    Sub EnviarCorreo()
    Dim OutApp As Object
    Dim OutMail As Object
    Dim lLastRow As Long
    Dim lRow As Long
    Dim sSendTo As String
    Dim sSendCC As String
    Dim sSendBCC As String
    Dim sSubject As String
    Dim sTemp As String

    Set OutApp = CreateObject("Outlook.Application")
    OutApp.Session.Logon

    ' Change the following as needed
    sSendTo = ""
    sSendCC = ""
    sSendBCC = ""
    sSubject = "Due date reached"

    Set OutMail = OutApp.CreateItem(0)

    lLastRow = Cells(Rows.Count, 3).End(xlUp).Row
    For lRow = 3 To lLastRow
    If Cells(lRow, 9) <> "S" Then
    If Cells(lRow, 2) <= Date Then

    On Error Resume Next
    With OutMail
    .To = sSendTo
    If sSendCC > "" Then .CC = sSendCC
    If sSendBCC > "" Then .BCC = sSendBCC
    .Subject = sSubject

    sTemp = "Hello!" & vbCrLf & vbCrLf
    sTemp = sTemp & "The due date has been reached "
    sTemp = sTemp & "for this project:" & vbCrLf & vbCrLf


    'THIS IS WHAT I WANT TO REPEAT ON EMAIL BODY
    ' Assumes project name is in column B
    sTemp = sTemp & "ID:"
    sTemp = sTemp & " " & Cells(lRow, 1)
    sTemp = sTemp & " Description: "
    sTemp = sTemp & " " & Cells(lRow, 5)
    sTemp = sTemp & " Please take the appropriate"
    sTemp = sTemp & " action." & vbCrLf & vbCrLf
    sTemp = sTemp & " Thank you!" & vbCrLf
    'UNTIL HERE



    .Body = sTemp
    ' Change the following to .Send if you want to
    ' send the message without reviewing first
    .Display
    End With
    Set OutMail = Nothing

    Cells(lRow, 9) = "S"
    Cells(lRow, 10) = "E-mail sent on: " & Now()
    End If
    End If
    Next lRow
    Set OutApp = Nothing
    End Sub
  • To post as a guest, your comment is unpublished.
    steve · 3 years ago
    Morning,


    I am new to trying to write and use macros in excel. My first attempt was to try and create a subset mass email from a large master list. I cut and pasted the first routine, then tried to use it all it did was highlight the cells I requested. no outlook email was created, what did I do wrong? To expand upon my actual request, I really want to target emails by zip code or other subsets. how do I create a macro that will search a column for a given zip code and create an email with all recipients found?

    thank you

    Steve
  • To post as a guest, your comment is unpublished.
    Vinicius · 3 years ago
    Hi ! Every month i should send the same e-mail for diferent providers, but they should not be in the same e-mail..... how could i send the same e-mail for diferent destinations without everyone in the same e-mail ?
    • To post as a guest, your comment is unpublished.
      skyyang · 3 years ago
      Hello, Vinicius,
      To send same email to multiple recipients separately, may be the following article can help you, please view it.
      https://www.extendoffice.com/documents/excel/3560-excel-send-personalized-email.html
  • To post as a guest, your comment is unpublished.
    James V · 3 years ago
    Any way to use this to send from a shared email? I cannot seem to inset a .SendOnBehalfOf field.
  • To post as a guest, your comment is unpublished.
    Robert Springer · 4 years ago
    How can I do this using the BCC line?
    • To post as a guest, your comment is unpublished.
      skyyang · 4 years ago
      Hi, Robert,
      After running the code, the new message window will be opened, you just need to insert the BCC line under the Option tab, see the following screenshot:


      Hope it can help you, thank you!
  • To post as a guest, your comment is unpublished.
    Shashank · 4 years ago
    Hello,

    Thank you for the code.
    Is there a way i can create a command button on the excel and then by clicking on that button the same excel sheet can be sent to multiple recipients as an attachment.
  • To post as a guest, your comment is unpublished.
    Jake · 5 years ago
    Hi,

    The VBA code is working well for me thank you. Is there any way I could create a cell with a button of sorts which triggers the "select mailing list" pop up?

    Jake
  • To post as a guest, your comment is unpublished.
    Matthew · 5 years ago
    This is awesome, exactly what I want.
    Is there anyway to add a feature where you can add a message to the subject line using code....
    I dont want anything in message box