VBA Odeslat e-mail z aplikace Excel
VBA se neomezuje pouze na excelovaná data. Můžeme posílat e-maily prostřednictvím VBA, a to je to, co se naučíme v tomto článku. Vyžaduje značnou znalost VBA a jejích metod psaní kódu pro odesílání e-mailů z Excelu. Než se pustíme do psaní a odesílání e-mailů z Excelu, dejte nám vědět, co tato automatizace znamená. Tento typ automatizace znamená přístup k funkci jiné aplikace pomocí jakékoli jiné aplikace. Nyní je funkce mailingu nabízena společností Microsoft v aplikaci Outlook, budeme používat metody a vlastnosti aplikace Outlook v excelu k odesílání e-mailů. K odeslání e-mailu potřebujeme znát také základní e-mail. Jaký je postup laika a jaký je požadavek na zaslání e-mailu? E-mail se skládá z e-mailové adresy odesílatele, pokud existuje CC (Carbon Copy) nebo BCC a předmětový řádek s tělem e-mailu.
Jak posílat e-maily z Excel VBA?
Naučme se, jak posílat e-maily prostřednictvím aplikace Outlook z aplikace Excel ve VBA. V tomto příkladu pošleme také přílohu příjemci, stejnému souboru Excel, do kterého píšeme kód.
Tuto VBA šablonu pro odeslání e-mailu si můžete stáhnout zde - VBA odeslat šablonu pro e-mail ExcelPři odesílání e-mailu z aplikace Excel pomocí kódu VBA postupujte podle následujících pokynů:
Krok 1: Na kartě Vývojář klikněte na Visual Basic a otevřete Editor VB.
Než se pustíme do psaní kódů, abychom mohli poslat e-mail, musíme vědět, že aplikace Outlook je externím objektem a musíme je odkázat ve VBA.
Krok 2: Přejděte na Nástroje a poté vyberte Odkazy.
Krok 3: Kliknutím na odkaz se nám otevře okno průvodce, najděte odkaz na knihovnu objektů Microsoft Outlook a zaškrtněte ji a poté klikněte na OK.
Krok 4: Klikněte na kartu Vložit a vložte modul do projektu VBA.
Krok 5: Definujte podprogram, jak je znázorněno níže.
Kód:
Sub EmailExample () End Sub
Krok 6: Odkazem na výše uvedený výhled můžeme nyní přistupovat k vlastnostem výhledu ve VBA. Nyní určme proměnnou jako aplikaci Outlook.
Kód:
Dim Email jako Outlook.Aplication
Krok 7: Stejně jako FSO je tato proměnná objektovou proměnnou, takže pro přístup k jakékoli jiné aplikaci, kterou potřebujeme vytvořit některé instance, vytvořte instanci, jak je ukázáno níže, pomocí klíčového slova SET.
Kód:
Nastavit e-mail = nová aplikace Outlook.Aplikace
Krok 8: Protože chceme odeslat přílohu do přijímače, musíme deklarovat jednu proměnnou jako String, která bude držet cestu pro přílohu.
Kód:
Dim Sr jako řetězec
Krok 9: Nyní začněme s poštovní částí v tomto kódu, abychom mohli poslat e-mail, musíme definovat jinou proměnnou, která bude používat vlastnost outlook k odkazu na nový e-mail, jak je uvedeno níže.
Kód:
Dim newmail jako Outlook.MailItem
Krok 10: Podobně jako při použití jiné aplikace v příkladu, musíme vytvořit instance, nyní musíme vytvořit instanci pro nový e-mail, který otevře nový e-mail pomocí nastaveného klíčového slova.
Kód:
Nastavit newmail = Email.CreateItem (olMailItem)
Než se přesuneme dále, dovolte mi vysvětlit náš dosavadní pokrok, první instance nám otevře výhled, zatímco druhá instance nám otevře nový e-mail.
Krok 11: Jak jsem již výše vysvětlil, jaký je požadavek na odeslání e-mailu. Prvním požadavkem je příjemce, který je v e-mailu „Komu“. Použijte tedy vlastnost To výhledu v aplikaci Excel v následujícím pořadí.
Kód:
newmail.To = " "
Krok 12: Vzhledem k tomu, že jsme použili vlastnost To, máme k dispozici další funkci, například Carbon Copy nebo CC outlook.
Kód:
newmail.CC = " "
Podobně můžeme použít vlastnost BCC.
Poznámka: Vlastnost BCC se používá, když chceme skrýt e-mailovou adresu přijímače BCC před ostatními přijímači.Jaký je další krok v odeslání e-mailu?
Krok 13: Je předmětem. Když píšeme název instance tečkovým operátorem, vidíme možnost pro předmět následujícím způsobem.
Krok 14: Stiskněte klávesu Tab na předmětu IntelliSense a napište náhodný předmět, jak je uvedeno níže.
Kód:
newmail.Subject = "Toto je automatický e-mail"
Krok 15: Dalším krokem při psaní e-mailu je tělo e-mailu. Stejně jako vlastnosti, které jsme použili výše v instanci, můžeme pomocí vlastnosti těla výhledu zapsat tělo následujícím způsobem.
Kód:
newmail.HTMLBody = "Ahoj, " & vbNewLine & vbNewLine & "Toto je testovací e-mail z Excelu" & _ vbNewLine & vbNewLine & _ "S pozdravem" & vbNewLine & _ "VBA Coder"
Krok 16: Nyní jsme vytvořili e-mail s tělem a předmětem. Dalším krokem je přidání přílohy k e-mailu. Protože chceme odeslat aktuální pracovní list příjemci, použijeme cestu následovně:
Kód:
Sr = ThisWorkbook.FullName
Krok 17: Nyní můžeme odeslat přílohu pomocí vlastnosti přílohy, jak je ukázáno níže.
Kód:
newmail.Attachments.Add Sr
Krok 18: Nyní musíme konečně odeslat e-mail. Stejně jako v aplikaci Outlook, stiskneme tlačítko Odeslat k odeslání e-mailu, podobně použijeme vlastnosti odeslání aplikace Outlook následujícím způsobem.
Kód:
newmail.Send
Závěrečný úplný kód
Níže je konečný kód o tom, jak poslat e-mail z aplikace Excel pomocí VBA.
Kód:
Sub EmailExample () Dim Email jako Outlook.Application Set Email = New Outlook.Application Dim Sr As String Dim newmail As Outlook.MailItem Set newmail = Email.CreateItem (olMailItem) newmail.To = " " newmail.CC = " " newmail.Subject = "Toto je automatický e-mail" newmail.HTMLBody = "Ahoj, " & vbNewLine & vbNewLine & "Toto je zkušební e-mail z Excelu" & _ vbNewLine & vbNewLine & _ "S pozdravem" & vbNewLine & _ "VBA Coder" Sr = ThisWorkbook.FullName newmail.Attachments.Add Sr newmail.Send End Sub Sub
Když spustíme výše uvedený kód, musíme počkat několik vteřin, než se kód spustí, a můžeme se podívat na zaslané pole ve výhledu, že e-mail byl odeslán prostřednictvím Excelu.
Co si pamatovat
- K odeslání e-mailu od Excelu používáme jinou aplikaci.
- Pro použití jiné aplikace vytváříme instance.
- Před použitím aplikace Outlook jako jiné aplikace se musíme podívat na objekty aplikace Outlook z karty Odkaz.
- Abychom mohli poslat e-mail, musíme znát požadavky e-mailu.
Doporučené články
Toto je průvodce VBA Odeslat e-mail z aplikace Excel. Zde diskutujeme o tom, jak posílat e-maily s přílohami z Excelu pomocí kódu VBA spolu s příkladem a stahovatelnou šablonou Excel. Níže uvádíme několik užitečných vynikajících článků týkajících se VBA -
- Hyperlink VBA s příklady
- Jak používat funkci YEAR v Excelu?
- Tipy pro používání aplikace VBA Outlook
- Výuky o funkci Excel Datum