Поделиться через


Sending Email to a List of Recipients Using Excel and Outlook

В следующем примере кода показано, как отправить сообщение электронной почты списку получателей на основе данных, хранящихся в книге. Адреса электронной почты получателя должны быть в столбце A, а основной текст сообщения должен находиться в первом текстовом поле на активном листе.

Пример кода предоставлен: издательством Holy Macro! Books, Holy Macro! It's 2,500 Excel VBA Examples (книга "2500 примеров VBA для Excel" от Holy Macro! на английском языке)

Sub Sample()
   'Setting up the Excel variables.
   Dim olApp As Object
   Dim olMailItm As Object
   Dim iCounter As Integer
   Dim Dest As Variant
   Dim SDest As String
   
   'Create the Outlook application and the empty email.
   Set olApp = CreateObject("Outlook.Application")
   Set olMailItm = olApp.CreateItem(0)
   
   'Using the email, add multiple recipients, using a list of addresses in column A.
   With olMailItm
       SDest = ""
       For iCounter = 1 To WorksheetFunction.CountA(Columns(1))
           If SDest = "" Then
               SDest = Cells(iCounter, 1).Value
           Else
               SDest = SDest & ";" & Cells(iCounter, 1).Value
           End If
       Next iCounter
       
    'Do additional formatting on the BCC and Subject lines, add the body text from the spreadsheet, and send.
       .BCC = SDest
       .Subject = "FYI"
       .Body = ActiveSheet.TextBoxes(1).Text
       .Send
   End With
   
   'Clean up the Outlook application.
   Set olMailItm = Nothing
   Set olApp = Nothing
End Sub

Об участнике

Издательство Holy Macro! Books публикует книги о работе с Microsoft Office в занимательном стиле. Полный каталог см. на веб-сайте MrExcel.com.

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.