Makro na odosielanie e-mailov z programu Excel (5 vhodných príkladov)

  • Zdieľajte To
Hugh West

V tomto článku vám ukážeme 5 Makro na poslať e-mail z Excel Na demonštráciu našich metód sme vybrali súbor údajov s 3 stĺpce : " Názov ", " E-mail " a " Mesto ".

Stiahnite si cvičebnicu

Použitie makra na odoslanie e-mailu.xlsm

5 spôsobov použitia makra na odosielanie e-mailov z programu Excel

1. Používanie knižnice objektov programu Outlook na odosielanie e-mailov

Prvýkrát Makro , povolíme " Knižnica objektov Microsoft Outlook 16.0 " na poslať . e-mail z adresy Excel Okrem toho sa musíme prihlásiť do našej Outlook účet v Excel .

Kroky:

Na začiatku sa chystáme vyzdvihnúť Visual Basic okno.

  • Po prvé, z Vývojár karta>>> vybrať Visual Basic .

Prípadne môžete stlačiť ALT + F11 na zobrazenie VBA okno.

  • Po druhé, od Nástroje >>> vybrať " Odkazy... ".

Nový dialógové okno sa objaví.

  • Po tretie vyberte položku " Knižnica objektov Microsoft Outlook 16.0 " a stlačte OK .

Preto umožníme Knižnica objektov programu Outlook .

  • Ich z Vložte >>> vybrať Modul .

Tu zadáme náš kód.

  • Potom zadajte nasledujúci kód.
 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 'Tieto položky sú voliteľné 'eItem.CC = "[email protected]" 'etem.BCC = "[email protected]" eItem.Subject = "Odosielanie e-mailu pomocou VBA z Excelu" eItem.Body = "Hello," & vbNewLine &"Dúfam, že vás tento e-mail nájde v poriadku." & _ vbNewLine & vbNewLine & _ "S pozdravom," & vbNewLine & "Exceldemy" 'Ak chcete pripojiť tento zošit, potom odkomentujte tieto dva riadky z nižšie uvedeného 'Source = ThisWorkbook.FullName 'eItem.Attachments.Add Source eItem.Display 'môžete použiť .Send End Sub 

Rozdelenie kódu VBA

  • Po prvé, voláme náš Dílčí postup Makro_Send_Email .
  • Po druhé, vyhlasujeme, že premenná typy.
  • Po tretie, vyberáme Outlook ako náš Poštová aplikácia .
  • Potom vyberáme naše e-mail odosielacia adresa z bunka C5 .
  • Potom sa e-mail obsah je nastavený v našom kóde.
  • Nakoniec, " Vlastnosť zobrazenia VBA " sa tu používa na zobrazenie nášho e-mail Preto budeme musieť stlačiť Odoslať ručne na poslať . e-maily Okrem toho môžeme použiť " Odoslať nehnuteľnosť " na posielať e-maily bez zobrazenia.
  • Potom, Uložiť a zatvorte Modul .

Teraz budeme Spustiť kód.

  • Po prvé, z Vývojár karta>>> vybrať Makrá .

Stránka Dialógové okno makra sa objaví.

  • Po druhé, vyberte našu Dílčí postup " Makro_Send_Email ".
  • Nakoniec stlačte Spustiť .

Po spustení kódu sa zobrazí e-mail okno. Môžeme kliknúť na Odoslať Takto sme vám ukázali prvú metódu odosielanie . e-mail z Excel pomocou VBA .

Prečítajte si viac: Odosielanie e-mailov z programu Excel VBA bez aplikácie Outlook (4 vhodné príklady)

2. Makro na odosielanie e-mailov z konta Gmail v programe Excel

Pre túto metódu potrebujeme menej bezpečný prístup k aplikáciám z Gmail Okrem toho budeme musieť povoliť Microsoft CDO z Odkazy menu.

Kroky:

  • Po prvé, ako je uvedené v prvej metóde , vyvolajte Dialógové okno Referencie .
  • Po druhé vyberte položku " Knižnica Microsoft CDO pre Windows 2000 " a stlačte OK .

  • Po tretie, prejdite na Zabezpečenie z vášho Nastavenia konta Google .
  • Nakoniec zapnite Menej bezpečný prístup k aplikáciám .

Teraz zadáme náš Makro kód.

  • Po prvé, ako je uvedené v metóde 1 , vyvolajte Modul a zadajte tento kód.
 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 = "Makro na odoslanie Gmailu" cFrom = "[email protected]" cTo = "[email protected]" cBody = "Dobrý deň. Toto je automatická správa. Prosím neodpovedajte" 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 

Rozdelenie kódu VBA

  • Po prvé, voláme náš Dílčí postup Poslať_Gmail_Macro .
  • Po druhé, vyhlasujeme, že premenná typy.
  • Po tretie, nastavujeme e-mail obsah v našom kóde.
  • Potom poskytujeme naše prihlasovacie údaje . Musíte zadať vlastné ID a Heslo tu.
  • Potom sme sa vydali na cestu prístav na 465 .
  • Nakoniec sme odosielanie naše e-mail .
  • Potom, Uložiť a Spustiť tento kód.

Úspešne sme odoslané . e-mail na našu adresu.

Čítajte viac: Makro na odoslanie e-mailu z programu Excel s telom (3 užitočné prípady)

3. Odoslanie e-mailu zoznamu príjemcov zo stĺpca

Pri tretej metóde budeme posielať e-maily na 7 ľudí, ktorí používajú Makro z adresy Excel . Nájdeme posledného riadok nášho súboru údajov, preto bude náš kód fungovať aj pre dlhší zoznam. posielať e-maily z bunka C5:C10 rozsah.

Kroky:

  • Po prvé, ako je uvedené v metóde 1 , vyvolajte Modul a zadajte tento kód.
 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 = "Túto správu vám prináša Exceldemy." .Display 'Tu môžete použiť .Send End With Set pMail = Nothing Set pApp = Nothing End Sub 

Rozdelenie kódu VBA

  • Po prvé, voláme náš Dílčí postup Makro_Send_Email_From_A_List .
  • Po druhé, vyhlasujeme, že premenná typy.
  • Po tretie, vyberáme Outlook ako náš Poštová aplikácia .
  • Potom sme našli posledný riadok , čo je 10 pre náš súbor údajov.
  • Potom, ako náš e-mail začína od riadok 5 zadali sme 5 ako počiatočnú hodnotu pre " premenná z ". Okrem toho, naše e-maily sú na Stĺpec C , preto sme zadali 3 vo vnútri Bunky nehnuteľnosť.
  • Potom nastavíme e-mail obsah v našom kóde.
  • Nakoniec, " .Display " sa tu používa na zobrazenie nášho e-mail Preto budeme musieť stlačiť Odoslať ručne na poslať . e-maily Okrem toho môžeme použiť " .Send " na poslať e-mail bez zobrazenia.
  • Potom, Uložiť a Spustiť . Modul .

Vidíme, že všetky naše e-maily sú zobrazené v BCC . Na záver môžeme jednoducho stlačiť Odoslať dokončiť našu úlohu.

Prečítajte si viac: Ako odoslať e-mail zo zoznamu aplikácie Excel (2 efektívne spôsoby)

Podobné čítania

  • Ako automaticky odoslať e-mail pri splnení podmienky v programe Excel
  • Ako zdieľať súbor Excel online (2 jednoduché metódy)
  • Automatické odosielanie e-mailových pripomienok z pracovného hárka programu Excel pomocou VBA
  • Ako odoslať e-mail, ak sú splnené podmienky v programe Excel (3 jednoduché metódy)
  • Ako povoliť zdieľanie zošita v programe Excel

4. Makro na odoslanie jedného listu pomocou e-mailu

V tejto časti poslať . Aktívny pracovný list na našu cieľovú osobu. Tu budeme musieť vybrať umiestnenie našej Excel súbor.

Kroky:

  • Po prvé, ako je uvedené v metóde 1 , vyvolajte Modul a zadajte tento kód.
 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.SaveAsFileName:="C:\Users\Rafi\OneDrive\Desktop\Softeko\47\" & fxName Set pApp = CreateObject("Outlook.Application") Set pMail = pApp.CreateItem(0) With pMail .To = "[email protected]" .Subject = "Makro na odoslanie jedného listu e-mailom" .Body = "Vážený príjemcaNázov," & vbCrLf & vbCrLf & _ "Váš požadovaný súbor je pripojený" .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 

Rozdelenie kódu VBA

  • Po prvé, voláme náš Dílčí postup Makro_Email_Single_Sheet .
  • Po druhé, vyhlasujeme, že premenná typy.
  • Po tretie, kopírujeme Aktívny hárok a uloženie ako samostatný Pracovný zošit .
  • Potom vyberáme Outlook ako náš Poštová aplikácia .
  • Potom nastavíme e-mail obsah v našom kóde.
  • Potom sme pripojili List na e-mail .
  • Nakoniec použite " .Display " na zobrazenie nášho e-mail Preto budeme musieť stlačiť Odoslať ručne na poslať . e-maily Okrem toho môžeme použiť " .Send " na poslať e-mail bez zobrazenia.
  • Potom, Uložiť a Spustiť . Modul .

Uvidíme List názov v okne. Stlačte Odoslať na dokončenie úlohy.

Môžeme otvoriť a overte, či náš kód funguje.

Prečítajte si viac: Ako poslať upraviteľný tabuľkový procesor Excel e-mailom (3 rýchle metódy)

5. Makro na odoslanie e-mailu na základe hodnoty bunky

Pri poslednej metóde sme trochu zmenili náš súbor údajov. Pridali sme " Platba Na stránke . " stĺpec do súboru údajov. Tu budeme poslať . e-mail ktorý obsahuje mesto " Obama ". Môžeme jasne vidieť, že riadok 5 obsahuje, preto budeme poslať . e-mail len pre túto osobu.

Kroky:

  • Po prvé, ako je uvedené v metóde 1 , vyvolajte Modul a zadajte tento kód.
 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) Call Send_Email_With_Multiple_Condition(mAddress, mSubject, eName) End If Next x End With End 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 ="Pán/pani " & eName & ", Prosím, uhraďte dlžnú sumu v priebehu nasledujúceho týždňa." _ & vbNewLine & "Presná suma je priložená k tomuto e-mailu." .Attachments.Add ActiveWorkbook.FullName 'Odoslať súbor prostredníctvom e-mailu .Display 'Aj tu môžeme použiť .Send End With Set pMail = Nothing Set pApp = Nothing End Sub 

Rozdelenie kódu VBA

  • Po prvé, voláme náš prvý Dílčí postup Send_Email_Condition .
  • Po druhé, vyhlasujeme, že Variabilné typy a nastavenie " Podmienky " ako náš List .
  • Po tretie, posledný riadok Okrem toho, naša hodnota začína od riadok 5 , preto sme vložili riadok 5 do posledného riadok v našom kóde.
  • Potom zavolajte náš druhý Dílčí postup Send_Email_With_Multiple_Condition .
  • Potom vyberáme Outlook ako náš Poštová aplikácia .
  • Potom sa e-mail obsah je nastavený v našom kóde.
  • Tu pripájame Excel súbor s e-mail pomocou Príloha metóda.
  • Potom " .Display " sa tu používa na zobrazenie nášho e-mail Preto budeme musieť stlačiť Odoslať ručne na poslať . e-maily Okrem toho môžeme použiť " .Send " na poslať e-mail bez zobrazenia.
  • Potom, Uložiť a Spustiť . Modul .

Na záver sme vám ukázali ďalšiu metódu odosielanie . e-mail pomocou Makro VBA z adresy Excel .

Prečítajte si viac: Automatické odosielanie e-mailov z programu Excel na základe obsahu buniek (2 metódy)

Praktická časť

Pridali sme súbory cvičných údajov pre každú metódu v Excel súbor.

Záver

Ukázali sme vám 5 metódy, ktoré sa majú používať Makro na poslať . e-mail z adresy Excel . Ďakujeme za čítanie, pokračujte v excelentnom výkone!

Hugh West je veľmi skúsený tréner a analytik Excelu s viac ako 10-ročnými skúsenosťami v tomto odvetví. Má bakalársky titul v odbore účtovníctvo a financie a magisterský titul v odbore Business Administration. Hugh má vášeň pre vyučovanie a vyvinul jedinečný vyučovací prístup, ktorý sa dá ľahko sledovať a pochopiť. Jeho odborné znalosti Excelu pomohli tisíckam študentov a profesionálov na celom svete zlepšiť svoje zručnosti a vyniknúť vo svojej kariére. Hugh sa prostredníctvom svojho blogu delí o svoje znalosti so svetom a ponúka bezplatné výukové programy Excelu a online školenia, ktoré jednotlivcom a firmám pomôžu naplno využiť ich potenciál.