Namig: drugi jeziki so prevedeni v Google. Lahko obiščete English različico te povezave.
Vpiši se
x
or
x
x
Registracija
x

or

Kako pošiljati e-pošto več prejemnikom na seznamu Excel prek Outlooka?

Če v stolpcu tabele imate več e-poštnih naslovov, zdaj pa želite poslati e-poštno sporočilo na ta seznam prejemnikov iz Excel-a neposredno, ne da bi odprli Outlook. V tem članku bom govoril o tem, kako hkrati poslati e-pošto več prejemnikom iz Excel-a.

Pošlji e-pošto več prejemnikom iz Excela s kodo VBA

Pošlji e-pošto več prejemnikom s trenutno delovni zvezkom kot prilogo z uporabo kode VBA


Pošiljanje prilagojenih e-poštnih sporočil več prejemnikom z različnimi prilogami:

z Kutools za Excel's Pošlji e-pošto funkcijo, lahko hitro pošiljate prilagojena e-poštna sporočila več prejemnikom z različnimi prilogi iz Excel-a po potrebi v Outlooku. Hkrati lahko CC ali Bcc sporočila tudi določeni osebi.

doc pošilja prilagojena e-poštna sporočila 18 1


puščica modra desno mehurček Pošlji e-pošto več prejemnikom iz Excela s kodo VBA


Lahko uporabite kodo VBA za pošiljanje sporočila več prejemnikom hkrati, storite naslednje:

1. Drži dol ALT + F11 tipke za odpiranje Microsoft Visual Basic za aplikacije okno.

2. klik Vstavi > Moduli, in prilepite naslednjo kodo v Okno modula.

VBA koda: Pošlji e-pošto več prejemnikom

Sub sendmultiple()
'updateby Extendoffice 20160506
    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. In nato pritisnite F5 Če želite izvedeti to kodo, se bo izpisalo polje za hitro klicanje, ki vas bo opomnilo, da izberete seznam naslovov, si oglejte posnetek zaslona:

doc pošilja več prejemnikov 1

4. Nato kliknite OK, in Outlook sporočilo Prikaže se okno, lahko vidite, da so bili vsi izbrani e-poštni naslovi dodani v Da polje, nato pa lahko vnesete zadevo in sestavite svoje sporočilo, si oglejte posnetek zaslona:

doc pošilja več prejemnikov 2

5. Ko končate sporočilo, kliknite Pošlji in to sporočilo bo poslano tem prejemnikom na seznamu delovnega lista.


puščica modra desno mehurček Pošlji e-pošto več prejemnikom s trenutno delovni zvezkom kot prilogo z uporabo kode VBA

Če morate kot priponko poslati sporočilo več prejemnikom s trenutno delovni zvezkom, lahko uporabite naslednjo kodo VBA.

1. Drži dol ALT + F11 tipke za odpiranje Microsoft Visual Basic za aplikacije okno.

2. Kliknite Vstavi > Moduli, in prilepite naslednjo kodo v Okno modula.

VBA koda: pošiljanje e-pošte več prejemnikom s trenutno delovni zvezkom kot prilogo

Sub EmailAttachmentRecipients()
'updateby Extendoffice 20160506
    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. Po preklapljanju kode pritisnite F5 ključ za zagon te kode in izpisano polje za hitro klicanje, ki vas opomni, da izberete naslove, na katere želite poslati sporočilo, si oglejte posnetek zaslona:

doc pošilja več prejemnikov 3

4. Nato kliknite OK gumb in Outlook sporočilo prikaže se okno, vsi e-poštni naslovi so dodani v Da polje in vaš trenutni delovni zvezek je bil vstavljen tudi kot prilogo, nato pa lahko vnesete zadevo in sestavite sporočilo, si oglejte posnetek zaslona:

doc pošilja več prejemnikov 4

5. Nato kliknite Pošlji gumb, da pošljete to sporočilo na seznam prejemnikov s trenutno delovni zvezki kot prilogo.


Povezani članek:

Kako pošiljati osebne množične e-pošte na seznam iz Excela prek Outlooka?


Priporočena orodja za produktivnost za Excel

zavihek kte 201905

Kutools za Excel vam pomaga, da vedno končate delo pred časom in izstopite iz množice

  • Več kot zmogljive napredne funkcije 300, zasnovane za 1500 delovne scenarije, ki povečujejo produktivnost z 70%, vam dajejo več časa za skrb za družino in uživanje v življenju.
  • Ne potrebujete več pomnilniških formul in VBA kod, od zdaj naprej pa dajate svojim možganom počitek.
  • Postanite strokovnjak za Excel v minutah 3, zapletene in ponavljajoče se operacije lahko opravite v nekaj sekundah,
  • Vsak dan zmanjšajte število operacij tipkovnice in miške, zdaj se poslovite od poklicnih bolezni.
  • 110,000 visoko učinkovite ljudi in 300 + svetovno priznanih podjetij izbiro.
  • Brezplačna preizkusna različica 60 dneva. 60-dnevno jamstvo vračila denarja. 2 let brezplačne nadgradnje in podpore.

Prinaša kartično brskanje in urejanje za Microsoft Office, veliko močnejši od zavihkov brskalnika

  • Office Tab je namenjen za Word, Excel, PowerPoint in druge Office aplikacije: Založnik, Dostop, Visio in Projekt.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Z 50% poveča vašo produktivnost in vsak dan zmanjša na stotine klikov z miško!
Say something here...
symbols left.
You are guest ( Sign Up? )
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 · 3 months 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 · 5 months 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 · 8 months 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.
    James V · 8 months 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 · 1 years ago
    How can I do this using the BCC line?
    • To post as a guest, your comment is unpublished.
      skyyang · 1 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!