Jak odesílat e -maily z tabulky aplikace Excel pomocí skriptů VBA

Jak odesílat e -maily z tabulky aplikace Excel pomocí skriptů VBA

Odesílání e -mailů z aplikace Microsoft Excel vyžaduje pouze několik jednoduchých skriptů. Přidejte tuto funkci do svých tabulek a můžete opravdu vylepšit, kolik toho můžete v Excelu dosáhnout.





Pokryli jsme spoustu skvělých maker aplikace Excel, která dokážou stejné věci jako skripty VBA, ale bez znalosti programování. Existuje však mnoho pokročilých věcí, které můžete dělat pouze s VBA, jako je vytváření tabulkových sestav se všemi informacemi o vašem PC.





Chcete raději sledovat tento návod jako video? Zajistili jsme pro vás!





Proč odesílat e -maily z aplikace Excel?

Existuje mnoho důvodů, proč můžete chtít odeslat e -mail z aplikace Microsoft Excel.

Možná máte zaměstnance, kteří každý týden aktualizují dokumenty nebo tabulky, a chtěli byste obdržet e -mailové oznámení o dokončení těchto aktualizací. Nebo můžete mít tabulku kontaktů a chcete všem odeslat jeden e -mail najednou.



Pravděpodobně si myslíte, že skriptování vysílání e -mailu z aplikace Excel bude komplikované. Tak tomu vůbec není.

Technika v tomto článku využije funkci, která je v Excelu VBA k dispozici již delší dobu, Datové objekty spolupráce (CDO).





CDO je komponenta pro zasílání zpráv používaná ve Windows od velmi raných generací operačního systému. Dříve se tomu říkalo CDONTS a poté s příchodem Windows 2000 a XP byl nahrazen výrazem „CDO pro Windows 2000“. Tato součást je již součástí vaší instalace VBA v aplikaci Microsoft Word nebo Excel a je připravena k použití.

Díky použití této komponenty je odesílání e -mailů z produktů Windows s VBA velmi snadné. V tomto příkladu použijete komponentu CDO v aplikaci Excel k odeslání e -mailu, který doručí výsledky z konkrétní buňky aplikace Excel.





Krok 1: Vytvořte makro VBA

Prvním krokem je přejít na kartu Excel Developer.

Na kartě Vývojář klikněte na Vložit v poli Ovládací prvky a poté vyberte příkazové tlačítko.

Nakreslete jej do listu a poté pro něj vytvořte nové makro kliknutím na Makra na pásu karet vývojáře.

Když kliknete na Vytvořit tlačítko, otevře se editor VBA.

Přidejte odkaz na knihovnu CDO tak, že přejdete na Nástroje > Reference v editoru.

Procházejte seznamem dolů, dokud nenajdete Knihovna Microsoft CDO pro Windows 2000 . Zaškrtněte políčko a klikněte OK .

Když kliknete OK , poznamenejte si název funkce, do které vkládáte skript. Budete to potřebovat později.

Krok 2: Nastavte pole CDO „Od“ a „Do“

Chcete -li to provést, musíte nejprve vytvořit poštovní objekty a nastavit všechna pole nezbytná k odeslání e -mailu.

Mějte na paměti, že ačkoli je mnoho polí volitelných, Z a Na pole jsou povinná.

nejlepší způsob, jak vytvořit vývojový diagram
Dim CDO_Mail As Object
Dim CDO_Config As Object
Dim SMTP_Config As Variant
Dim strSubject As String
Dim strFrom As String
Dim strTo As String
Dim strCc As String
Dim strBcc As String
Dim strBody As String
strSubject = 'Results from Excel Spreadsheet'
strFrom = 'rdube02@gmail.com'
strTo = 'rdube02@gmail.com'
strCc = ''
strBcc = ''
strBody = 'The total results for this quarter are: ' & Str(Sheet1.Cells(2, 1))

Skvělou věcí na tom je, že můžete vytvořit libovolný řetězec, kterému chcete přizpůsobit celou e -mailovou zprávu, a přiřadit ji k strBody proměnná.

Složte součásti zprávy pomocí & řetězec pro vložení dat z libovolného listu aplikace Microsoft Excel přímo do e -mailové zprávy, stejně jako je uvedeno výše.

Krok 3: Konfigurujte CDO tak, aby používalo externí SMTP

V další části kódu budete konfigurovat CDO tak, aby k odesílání e -mailů používalo jakýkoli externí server SMTP.

Tento příklad je nastavení bez SSL prostřednictvím Gmailu. CDO je schopné SSL, ale to je mimo rozsah tohoto článku. Pokud potřebujete použít SSL, toto pokročilý kód v Githubu může pomoct.

Set CDO_Mail = CreateObject('CDO.Message')
On Error GoTo Error_Handling
Set CDO_Config = CreateObject('CDO.Configuration')
CDO_Config.Load -1
Set SMTP_Config = CDO_Config.Fields
With SMTP_Config
.Item('http://schemas.microsoft.com/cdo/configuration/sendusing') = 2
.Item('http://schemas.microsoft.com/cdo/configuration/smtpserver') = 'smtp.gmail.com'
.Item('http://schemas.microsoft.com/cdo/configuration/smtpauthenticate') = 1
.Item('http://schemas.microsoft.com/cdo/configuration/sendusername') = 'email@website.com'
.Item('http://schemas.microsoft.com/cdo/configuration/sendpassword') = 'password'
.Item('http://schemas.microsoft.com/cdo/configuration/smtpserverport') = 25
.Item('http://schemas.microsoft.com/cdo/configuration/smtpusessl') = True
.Update
End With
With CDO_Mail
Set .Configuration = CDO_Config
End With

Krok 4: Dokončete nastavení CDO

Nyní, když jste nakonfigurovali připojení k serveru SMTP pro odesílání e -mailů, stačí vyplnit příslušná pole pro Objekt CDO_Mail a vydejte soubor Poslat příkaz.

Zde je návod, jak to udělat:

CDO_Mail.Subject = strSubject
CDO_Mail.From = strFrom
CDO_Mail.To = strTo
CDO_Mail.TextBody = strBody
CDO_Mail.CC = strCc
CDO_Mail.BCC = strBcc
CDO_Mail.Send
Error_Handling:
If Err.Description '' Then MsgBox Err.Description

Nebudou existovat žádná vyskakovací okna ani zprávy s výstrahami zabezpečení, což se může stát, když se uchýlíte k použití poštovního objektu aplikace Outlook.

CDO jednoduše sestaví e -mail a použije podrobnosti o připojení k vašemu serveru SMTP k vypálení zprávy. Je to nejjednodušší způsob, jak začlenit e -mail do skriptů Microsoft Word nebo Excel VBA.

Chcete -li připojit své příkazové tlačítko k tomuto skriptu, přejděte do editoru kódu a klikněte na List 1 zobrazit kód VBA pro tento list.

Zadejte název funkce, do které jste vložili výše uvedený skript.

jak vytvořit disk pro obnovení systému Windows 8.1

Takto vypadala zpráva, kterou jsem obdržel do své doručené pošty:

Poznámka : Pokud se zobrazí chybová zpráva Přenosu se nepodařilo připojit k serveru , ujistěte se, že jste zadali správné uživatelské jméno, heslo, server SMTP a číslo portu v řádcích kódu uvedených níže Pomocí SMTP_Config .

Vezměte to dále a automatizujte celý proces

Je vše v pořádku a dobré, když můžete odesílat e -maily z aplikace Excel pouhým stisknutím tlačítka. Možná však budete chtít tuto funkci používat pravidelně, v takovém případě by mělo smysl proces automatizovat.

Chcete -li to provést, musíte v makru provést změnu. Přejděte do editoru jazyka Visual Basic a zkopírujte a vložte celý kód, který jsme dali dohromady.

Dále vyberte Tato pracovní kniha z Projekt hierarchie.

Ze dvou rozevíracích polí v horní části okna kódu vyberte pracovní sešit a vyberte Otevřeno z rozevíracího seznamu Metody.

Vložte výše uvedený skript e -mailu do Soukromý dílčí sešit_Otevřít () .

Makro se spustí při každém otevření souboru aplikace Excel.

Dále otevřete Plánovač úkolů .

Pomocí tohoto nástroje požádáte Windows, aby v pravidelných intervalech automaticky otevíral tabulku, kdy se spustí makro a odešle e -mail.

Vybrat Vytvořit základní úkol ... z Akce nabídku a procházejte se průvodcem, dokud nedosáhnete Akce obrazovka.

Vybrat Spusťte program a klikněte další .

Použijte Procházet pomocí tlačítka vyhledejte umístění aplikace Microsoft Excel ve vašem počítači nebo zkopírujte a vložte cestu do souboru Program/skript pole.

Poté zadejte cestu k dokumentu aplikace Microsoft Excel do souboru Přidejte argumenty pole.

Dokončete průvodce a vaše plánování bude na místě.

Stojí za to spustit test tak, že naplánujete akci na několik minut v budoucnosti a poté úkol upravíte, jakmile potvrdíte, že funguje.

Poznámka : Možná budete muset upravit nastavení Centra zabezpečení, aby bylo zajištěno správné spuštění makra.

Chcete -li to provést, otevřete tabulku a přejděte na Soubor > Možnosti > Centrum důvěry .

Odtud klikněte Nastavení centra důvěryhodnosti , a na další obrazovce nastavte volič rádia na Nikdy nezobrazovat informace o blokovaném obsahu .

Zajistěte, aby aplikace Microsoft Excel fungovala za vás

Microsoft Excel je neuvěřitelně účinný nástroj, ale naučit se z něj vytěžit maximum může být trochu zastrašující. Pokud chcete software opravdu zvládnout, musíte být pohodlné s VBA , a to není malý úkol.

jak někoho sledujete na google mapách?

Výsledky však mluví samy za sebe. S trochou zkušeností s VBA budete mít brzy možnost přimět aplikaci Microsoft Excel provádět základní úkoly automaticky, což vám poskytne více času soustředit se na naléhavější záležitosti.

Vybudování odborných znalostí s VBA vyžaduje čas, ale brzy uvidíte plody své práce, pokud se toho dokážete držet.

Jedno skvělé místo, kde začít, je naše autorita návod k používání VBA v Excelu . Jakmile s tím budete hotovi, bude se tento jednoduchý skript pro odesílání e -mailů z Excelu cítit jako dětská hra.

Podíl Podíl tweet E-mailem Canon vs. Nikon: Která značka fotoaparátu je lepší?

Canon a Nikon jsou dvě největší jména v oboru fotoaparátů. Ale která značka nabízí lepší řadu fotoaparátů a objektivů?

Číst dále
Související témata
  • Produktivita
  • Programování
  • E -mailové tipy
  • Programování
  • Programování v jazyce Visual Basic
  • Microsoft Excel
  • Tipy pro Microsoft Office
O autorovi Ryan Dube(942 publikovaných článků)

Ryan má bakalářský titul z elektrotechniky. Pracoval 13 let v automatizačním inženýrství, 5 let v IT a nyní je Apps Engineer. Bývalý vedoucí redaktor MakeUseOf hovořil na národních konferencích o vizualizaci dat a vystupoval v národní televizi a rozhlase.

Více od Ryana Dubeho

Přihlaste se k odběru našeho zpravodaje

Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné elektronické knihy a exkluzivní nabídky!

Kliknutím sem se přihlásíte k odběru