Makro za pošiljanje e-pošte iz programa Excel (5 primernih primerov)

  • Deliti To
Hugh West

V tem članku vam bomo predstavili 5 Makro na . pošljite e-pošto s spletne strani Excel . Za prikaz naših metod smo izbrali nabor podatkov z 3 stolpci : " Ime ", " E-pošta " in " Mesto ".

Prenesi delovni zvezek za prakso

Uporaba makra za pošiljanje e-pošte.xlsm

5 načinov uporabe makra za pošiljanje e-pošte iz programa Excel

1. Uporaba knjižnice predmetov programa Outlook za pošiljanje e-pošte

Za prvo Makro , bomo omogočili " Microsoft Outlook 16.0 Knjižnica predmetov " na pošljite . e-pošta s spletne strani Excel . Poleg tega se moramo prijaviti v svoj Outlook račun v Excel .

Koraki:

Na začetku bomo izpostavili Visual Basic okno.

  • Prvič, iz Razvijalec zavihek>>>> izberite Visual Basic .

Lahko tudi pritisnete ALT + F11 za prikaz VBA okno.

  • Drugič, od Orodja >>>> izberite " Reference... ".

Nova pogovorno okno se prikaže.

  • Tretjič, izberite " Microsoft Outlook 16.0 Knjižnica predmetov " in pritisnite V REDU .

Tako bomo omogočili Knjižnica predmetov Outlook .

  • jih iz Vstavite >>>> izberite Modul .

Tu bomo vnesli svojo kodo.

  • Nato vnesite naslednjo kodo.
 Sub Macro_Send_Email() Dim eApp As Outlook.Application Dim eSource As String Set eApp = New Outlook.Application Dim eItem As Outlook.MailItem Set eItem = eApp.CreateItem(olMailItem) eItem.To = Range("C5").Value 'Ti elementi so neobvezni 'eItem.CC = "[email protected]" 'etem.BCC = "[email protected]" eItem.Subject = "Pošiljanje e-pošte z uporabo VBA iz Excela" eItem.Body = "Hello," & vbNewLine &"Upam, da vas bo to elektronsko sporočilo dobro našlo." & _ vbNewLine & vbNewLine & _ "Iskreno," & vbNewLine & "Exceldemy" 'Če želite priložiti ta delovni zvezek, potem odkomentirajte ti dve vrstici spodaj 'Source = ThisWorkbook.FullName 'eItem.Attachments.Add Source eItem.Display 'lahko uporabite .Send End Sub 

Razčlenitev kode VBA

  • Najprej pokličemo naš Podpostopek Makro_Send_Email .
  • Drugič, razglasili smo spremenljivka vrste.
  • Tretjič, izbiramo Outlook kot naš Poštna vloga .
  • Nato izberemo svoj e-pošta naslov za pošiljanje iz celica C5 .
  • Po tem je e-pošta vsebina je nastavljena v naši kodi.
  • Nazadnje, " Lastnost prikaza VBA " se tukaj uporablja za prikaz našega e-pošta . Zato bomo morali pritisniti Pošlji ročno na pošljite . e-poštna sporočila Poleg tega lahko uporabimo " Pošlji lastnino " na pošiljanje e-poštnih sporočil brez prikaza.
  • Nato, Shrani in zaprite Modul .

Zdaj bomo Spustite kodo.

  • Prvič, iz Razvijalec zavihek>>>> izberite Makroji .

Spletna stran Pogovorno okno Makro se prikaže.

  • Drugič, izberite naš Podpostopek " Makro_Send_Email ".
  • Na koncu pritisnite Spustite .

Po izvedbi kode bomo videli e-pošta lahko kliknemo na Pošlji Tako smo vam pokazali prvo metodo pošiljanje . e-pošta s spletne strani Excel uporaba VBA .

Preberite več: Pošljite e-pošto iz programa Excel VBA brez programa Outlook (4 primerni primeri)

2. Makro za pošiljanje e-pošte iz računa Gmail v programu Excel

Za to metodo potrebujemo manj varen dostop do aplikacij iz Gmail Poleg tega bomo morali omogočiti Microsoftov CDO iz Reference meni.

Koraki:

  • Prvič, kot je prikazano v prvi metodi , prikažite Pogovorno okno Reference .
  • Nato izberite " Microsoftov CDO za knjižnico Windows 2000 " in pritisnite V REDU .

  • Tretjič, pojdite v Varnost iz vašega Nastavitve računa Google .
  • Na koncu vklopite Manj varen dostop do aplikacij .

Zdaj bomo vnesli naš Makro koda.

  • Prvič, kot je prikazano v metodi 1 , prikažite Modul in vnesite to kodo.
 Option Explicit Sub Send_Gmail_Macro() Dim cMail As Object Dim cConfig As Object Dim sConfig As Variant Dim cSubject As String Dim cFrom As String Dim cTo As String Dim cCC As String Dim cBcc As String Dim cBody As String cSubject = "Macro to Send Gmail" cFrom = "[email protected]" cTo = "[email protected]" cBody = "Hello. This is an automated message. Please don't answer" Set cMail =CreateObject("CDO.Message") On Error GoTo Error_Handling Set cConfig = CreateObject("CDO.Configuration") cConfig.Load -1 Set sConfig = cConfig.Fields With sConfig .Item("//schemas.microsoft.com/cdo/configuration/sendusing") = 2 .Item("//schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com" .Item("//schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1.Item("//schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]" .Item("//schemas.microsoft.com/cdo/configuration/sendpassword") = "SenderGmailPassword" .Item("//schemas.microsoft.com/cdo/configuration/smtpserverport") = 465 .Item("//schemas.microsoft.com/cdo/configuration/smtpusessl") = True .Update End With With cMail Set .Configuration = cConfig End With cMail.Subject =cSubject cMail.From = cFrom cMail.To = cTo cMail.TextBody = cBody cMail.CC = cCC cMail.BCC = cBcc cMail.Send Error_Handling: If Err.Description "" Then MsgBox Err.Description End Sub 

Razčlenitev kode VBA

  • Najprej pokličemo naš Podpostopek Pošlji_Gmail_Macro .
  • Drugič, razglasili smo spremenljivka vrste.
  • Tretjič, določamo e-pošta vsebina v naši kodi.
  • Nato zagotavljamo naše poverilnice za prijavo . Morate vnesti svoj ID in . Geslo tukaj.
  • Nato smo se odločili pristanišče na . 465 .
  • Končno smo pošiljanje naš e-pošta .
  • Nato, Shrani in . Spustite ta koda.

Uspešno smo poslal . e-pošta na naš naslov.

Preberi več: Makro za pošiljanje e-pošte iz programa Excel s telesom (3 uporabni primeri)

3. Pošiljanje e-pošte seznamu prejemnikov iz stolpca

Za tretjo metodo bomo pošiljanje e-poštnih sporočil na . 7 ljudje, ki uporabljajo Makro s spletne strani Excel . Našli bomo zadnjega vrstica našega nabora podatkov, zato bo naša koda delovala tudi za daljši seznam. pošiljanje e-poštnih sporočil iz celica C5: C10 obseg.

Koraki:

  • Prvič, kot je prikazano v metodi 1 , prikažite Modul in vnesite to kodo.
 Sub Macro_Send_Email_From_A_List() Dim pApp As Object Dim pMail As Object Dim z As Integer Dim eList As String Dim eRow As Long Set pApp = CreateObject("Outlook.Application") Set pMail = pApp.CreateItem(0) eRow = Range("C:C").SpecialCells(xlCellTypeLastCell).Row - 1 With pMail eList = "" For z = 5 To eRow If eList = "" Then eList = Cells(z, 3).Value Else eList = eList & ";" & Cells(z,3).Value End If Next z .BCC = eList .Subject = "Hello There" .Body = "This Message is brought to you by Exceldemy." .Display 'You can use .Send here End With Set pMail = Nothing Set pApp = Nothing End Sub 

Razčlenitev kode VBA

  • Najprej pokličemo naš Podpostopek Makro_Send_Email_From_A_List .
  • Drugič, razglasili smo spremenljivka vrste.
  • Tretjič, izbiramo Outlook kot naš Poštna vloga .
  • Nato poiščemo zadnja vrstica , ki je 10 za naš nabor podatkov.
  • Potem, ko je naš e-pošta se začne z vrstica 5 smo vnesli 5 kot začetno vrednost za " spremenljivka z ". Poleg tega je naš e-poštna sporočila so na Stolpec C , zato smo vnesli 3 v notranjosti Celice lastnost.
  • Nato nastavimo e-pošta vsebina v naši kodi.
  • Nazadnje, " .Display " se tukaj uporablja za prikaz našega e-pošta . Zato bomo morali pritisniti Pošlji ročno na pošljite . e-poštna sporočila Poleg tega lahko uporabimo " .Send " na pošljite e-pošto brez prikaza.
  • Nato, Shrani in . Spustite . Modul .

Vidimo lahko, da so vse naše e-poštna sporočila so prikazani v BCC . Na koncu lahko preprosto pritisnemo Pošlji za dokončanje naše naloge.

Preberite več: Kako poslati e-pošto iz Excelovega seznama (2 učinkovita načina)

Podobna branja

  • Kako samodejno poslati e-pošto, ko je pogoj izpolnjen v Excelu
  • Kako deliti Excelovo datoteko na spletu (2 preprosti metodi)
  • Samodejno pošiljanje elektronske pošte z opomnikom iz delovnega lista Excel z uporabo VBA
  • Kako poslati e-pošto, če so izpolnjeni pogoji v Excelu (3 preproste metode)
  • Kako omogočiti skupno rabo delovnega zvezka v programu Excel

4. Makro za pošiljanje enega lista z uporabo e-pošte

V tem razdelku bomo pošljite . Aktivni delovni list do naše ciljne osebe. Tu moramo izbrati lokacijo našega Excel datoteko.

Koraki:

  • Prvič, kot je prikazano v metodi 1 , prikažite Modul in vnesite to kodo.
 Sub Macro_Email_Single_Sheet() Dim pApp As Object Dim pMail As Object Dim zBook As Workbook Dim fxName As String 'Dim zSheet As Worksheet 'Dim shtName As String Application.ScreenUpdating = False ActiveSheet.Copy Set zBook = ActiveWorkbook fxName = zBook.Worksheets(1).Name On Error Resume Next Kill "C:\Users\Rafi\OneDrive\Desktop\Softeko\47\" & fxName On Error GoTo 0 zBook.SaveAsIme datoteke:="C:\Uporabniki\Rafi\OneDrive\Desktop\Softeko\47\" & fxName Set pApp = CreateObject("Outlook.Application") Set pMail = pApp.CreateItem(0) With pMail .To = "[email protected]" .Subject = "Makro za pošiljanje enega lista prek e-pošte" .Body = "Dragi prejemnikIme," & vbCrLf & vbCrLf & _ "Vaša zahtevana datoteka je priložena" .Attachments.Add zBook.FullName .Display End WithzBook.ChangeFileAccess Mode:=xlReadOnly Kill zBook.FullName zBook.Close SaveChanges:=False Application.ScreenUpdating = True Set pMail = Nothing Set pApp = Nothing End Sub 

Razčlenitev kode VBA

  • Najprej pokličemo naš Podpostopek Makro_Email_Single_Sheet .
  • Drugič, razglasili smo spremenljivka vrste.
  • Tretjič, kopiramo Aktivni list in ga shranite kot ločeno Delovni zvezek .
  • Nato izberemo Outlook kot naš Poštna vloga .
  • Nato nastavimo e-pošta vsebina v naši kodi.
  • Nato smo priložili List na e-pošta .
  • Nazadnje uporabite " .Display " za prikaz našega e-pošta . Zato bomo morali pritisniti Pošlji ročno na pošljite . e-poštna sporočila Poleg tega lahko uporabimo " .Send " na pošljite e-pošto brez prikaza.
  • Nato, Shrani in . Spustite . Modul .

Ogledali si bomo List ime v oknu. Pritisnite Pošlji za dokončanje naloge.

Lahko odprta datoteko in preverite, ali naša koda deluje.

Preberite več: Kako po e-pošti poslati urejeno Excelovo razpredelnico (3 hitre metode)

5. Makro za pošiljanje e-pošte na podlagi vrednosti celice

Pri zadnji metodi smo nekoliko spremenili naš nabor podatkov. Dodali smo " Plačilo Zaradi " stolpec v nabor podatkov. Tu bomo pošljite . e-pošta ki vsebuje mesto " Obama ". Jasno vidimo, da vrstica 5 vsebuje, zato bomo pošljite . e-pošta samo tej osebi.

Koraki:

  • Prvič, kot je prikazano v metodi 1 , prikažite Modul in vnesite to kodo.
 Option Explicit Sub Send_Email_Condition() Dim xSheet As Worksheet Dim mAddress As String, mSubject As String, eName As String Dim eRow As Long, x As Long Set xSheet = ThisWorkbook.Sheets("Conditions") With xSheet eRow = .Cells(.Rows.Count, 5).End(xlUp).Row For x = 5 To eRow If .Cells(x, 4)>= 1 And .Cells(x, 5) = "Obama" Then mAddress = .Cells(x, 3) mSubject = "Request For Payment" eName =.Cells(x, 2) Pokličite Send_Email_With_Multiple_Condition(mAddress, mSubject, eName) End If Next x End With End Sub Sub Send_Email_With_Multiple_Condition(mAddress As String, mSubject As String, eName As String) Dim pApp As Object Dim pMail As Object Set pApp = CreateObject("Outlook.Application") Set pMail = pApp.CreateItem(0) With pMail .To = mAddress .CC = "" .BCC = "" .Subject = mSubject .Body ="Gospod / gospa " & eName & ", Prosimo, plačajte dolgovani znesek v naslednjem tednu." _ & vbNewLine & "Točen znesek je priložen temu e-poštnemu sporočilu." .Attachments.Add ActiveWorkbook.FullName 'Pošlji datoteko po e-pošti .Display 'Tudi tukaj lahko uporabimo .Send End With Set pMail = Nothing Set pApp = Nothing End Sub 

Razčlenitev kode VBA

  • Prvič, kličemo prvi Podpostopek Pošlji_Email_Condition .
  • Drugič, razglasili smo Spremenljivka vrste in nastavitve " Pogoji " kot naš List .
  • Tretjič, zadnji vrstica Poleg tega se naša vrednost začne z vrstica 5 zato smo vnesli vrstica 5 do zadnjega vrstica v naši kodi.
  • Nato pokličite naš drugi Podpostopek Pošlji_e-pošto z več pogoji .
  • Nato izberemo Outlook kot naš Poštna vloga .
  • Nato se e-pošta vsebina je nastavljena v naši kodi.
  • Tukaj pripenjamo Excel datoteko z e-pošta z uporabo Priponka metoda.
  • Po tem je " .Display " se tukaj uporablja za prikaz našega e-pošta . Zato bomo morali pritisniti Pošlji ročno na pošljite . e-poštna sporočila Poleg tega lahko uporabimo " .Send " na pošljite e-pošto brez prikaza.
  • Nato, Shrani in . Spustite . Modul .

Na koncu smo vam pokazali še eno metodo pošiljanje . e-pošta uporaba Makro VBA s spletne strani Excel .

Preberite več: Samodejno pošiljanje e-pošte iz programa Excel na podlagi vsebine celic (2 metodi)

Oddelek za prakso

Za vsako metodo smo dodali nabore podatkov za vadbo v Excel datoteko.

Zaključek

Pokazali smo vam 5 metode za uporabo Makro na . pošljite . e-pošta s spletne strani Excel . Hvala za branje, še naprej odlični!

Hugh West je zelo izkušen trener Excela in analitik z več kot 10-letnimi izkušnjami v industriji. Po izobrazbi je diplomirani računovodstvo in finance ter magisterij poslovne administracije. Hugh ima strast do poučevanja in je razvil edinstven pristop k poučevanju, ki ga je enostavno slediti in razumeti. Njegovo strokovno znanje o Excelu je pomagalo na tisoče študentom in strokovnjakom po vsem svetu, da so izboljšali svoje sposobnosti in se izkazali v karieri. Prek svojega bloga Hugh deli svoje znanje s svetom, ponuja brezplačne vadnice za Excel in spletno usposabljanje, ki posameznikom in podjetjem pomaga doseči njihov polni potencial.