VBA Odeslat e-mail z aplikace Excel | Krok za krokem kód k odeslání e-mailu

Kód VBA pro odesílání e-mailů z aplikace Excel

Ve VBA k odesílání e-mailů z aplikace Excel můžeme automatizovat naši funkci zasílání e-mailů, abychom mohli automaticky odesílat e-maily více uživatelům najednou, abychom si tak pamatovali, že se to děje pomocí aplikace Outlook jiného produktu aplikace Outlook, takže musíme povolit aplikaci Outlook skriptování ve VBA a jakmile je hotovo, použijeme metodu .Application k použití funkcí aplikace Outlook.

Všestrannost VBA je prostě úžasná. Důvodem, proč kodéry VBA milují, je Excel, protože pomocí VBA můžeme nejen pracovat v Excelu, ale také můžeme přistupovat také k dalším nástrojům Microsoftu. K aplikaci PowerPoint, Word a Outlook můžeme přistupovat pomocí VBA. Věc, která na mě udělala dojem, byla, když jsem slyšela o „odesílání e-mailů od samotného excelu“. Ano, je pravda, že můžeme posílat e-maily z aplikace Excel. V tomto článku vám ukážeme, jak posílat e-maily z aplikace Excel s přílohami pomocí kódování VBA.

Nastavit odkaz na knihovnu Microsoft Office

Musíme posílat e-maily z Outlooku. Protože Outlook je vnější objekt, první věcí, kterou musíme udělat, je nastavit odkaz na objekt na „ Knihovnu objektů Microsoft Outlook 16.0 Object “.

  • Ve VBA přejděte na Nástroje> Odkazy

  • Nyní uvidíme knihovnu odkazů na objekty. V tomto okně musíme nastavit odkaz na „Objektovou knihovnu Microsoft Outlook 16.0“

  • Po nastavení odkazu na objekt klikněte na Ok.

Nyní můžeme přistupovat k objektu aplikace Outlook v kódování VBA.

13 snadných kroků k odesílání e-mailů z aplikace Excel

Psaní kódu pro odeslání e-mailu s přílohou z aplikace Excel je docela komplikované, ale stojí za to strávit nějaký čas.

Tuto šablonu aplikace VBA Send Email Excel si můžete stáhnout zde - VBA Send Email Excel Template

Při psaní prvního makra aplikace Excel postupujte podle následujících kroků.

Krok 1

Spusťte podproces ve VBA.

Kód:

 Sub SendEmail_Example1 () End Sub 

Krok 2

Deklarujte proměnnou Outlook.Application

Kód:

 Dim EmailApp As Outlook.Application 'To refer to outlook application 

Krok # 3

Výše uvedená proměnná je objektová proměnná. Musíme vytvořit instanci nového objektu samostatně. Chcete-li vytvořit novou instanci vnějšího objektu níže, je kód.

Kód:

 Set EmailApp = New Outlook.Application 'To launch outlook application 

Krok č. 4

Nyní, abychom napsali e-mail, deklarujeme ještě jednu proměnnou jako „Outlook.MailItem“.

Kód:

 Dim EmailItem As Outlook.MailItem 'To refer new outlook email 

Krok # 5

Abychom mohli spustit nový e-mail, musíme nastavit odkaz na naši předchozí proměnnou jako CreateItem.

Kód:

 Set EmailItem = EmailApp.CreateItem (olMailItem) 'Chcete-li spustit nový e-mail aplikace Outlook 

Dobře, nyní proměnná „EmailApp“ spustí výhled a v proměnné „EmailItem“ můžeme začít psát e-mail.

Krok # 6

Nyní si musíme být vědomi toho, jaké položky máme při psaní e-mailu. První věcí je, že se musíme rozhodnout, komu posíláme e-mail. Proto potřebujeme přístup k vlastnosti „TO“.

Krok # 7

Zadejte e-mail ID příjemce v uvozovkách.

Kód:

EmailItem.To = "[email protected]"

Krok # 8

Po adresování hlavnímu příjemci, pokud chcete CC komukoli v e-mailu, můžeme použít vlastnost „CC“.

Kód:

EmailItem.CC = "[email protected]"

Krok # 9

Po CC můžeme nastavit i BCC email id.

Kód:

EmailItem.BCC = "[email protected]"

Krok # 10

Nyní musíme zahrnout předmět e-mailu, který posíláme.

Kód:

EmailItem.Subject = "Testovat e-mail z aplikace Excel VBA"

Krok # 11

Nyní musíme napsat text e-mailu pomocí typu těla HTML.

Kód:

EmailItem.HTMLBody = "Ahoj," & vbNewLine & vbNewLine & "Toto je můj první e-mail z aplikace Excel" & _ vbNewLine & vbNewLine & _ "S pozdravem," & vbNewLine & _ "VBA Coder" 'VbNewLine je konstanta VBA pro vložení nový řádek 

Krok # 12

Pokud chceme přidat přílohu jako aktuální sešit, na kterém pracujeme, musíme použít vlastnost příloh. Nejprve deklarujte zdroj proměnné jako řetězec.

Kód:

 Ztlumit zdroj jako řetězec 

Pak do této proměnné napište ThisWorkbook.FullName za tělo e-mailu.

Kód:

Zdroj = ThisWorkbook.FullName

V tomto kódu VBA se ThisWorkbook používá pro aktuální sešit a .FullName se používá k získání celého názvu listu.

Poté připojte soubor následujícím kódem.

Kód:

EmailItem.Attachments.Add Source

Krok # 13

Nyní konečně musíme poslat e-mail na uvedená ID e-mailu. Toho lze dosáhnout pomocí metody „Odeslat“.

Kód:

EmailItem.Send

Dobře, jsme hotovi s kódovací částí.

Kód:

 Sub SendEmail_Example1 () Dim EmailApp As Outlook.Application Dim Source As String Set EmailApp = New Outlook.Application Dim EmailItem As Outlook.MailItem Set EmailItem = EmailApp.CreateItem (olMailItem) EmailItem.To = "[email protected]" EmailItem.CC = "[email protected]" EmailItem.BCC = "[email protected]" EmailItem.Subject = "Testovat e-mail z aplikace Excel VBA" EmailItem.HTMLBody = "Ahoj," & vbNewLine & vbNewLine & "Toto je můj první e-mail od Excel "& _ vbNewLine & vbNewLine & _" S pozdravem, "& vbNewLine & _" VBA Coder "Zdroj = ThisWorkbook.FullName EmailItem.Attachments.Add Zdroj EmailItem.Send End Sub 

Spusťte výše uvedený kód a odešle e-mail s uvedeným tělem e-mailu s aktuálním sešitem jako přílohou.