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 TemplatePř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.