Zde je uveden postup, jak odesílat e-maily pomocí makra VBA v aplikaci Excel. V tomto příspěvku nebudu krok za krokem popisovat, jak je možné odesílat e-maily pomocí maker a možností VBA v aplikaci Microsoft Excel.
Důvodem je, že šablona tabulky, o kterou bych se chtěl podělit, byla vytvořena pro velmi specifický účel a pro běžného čtenáře blogu pravděpodobně nebude užitečná.
Místo toho bych vám rád uvedl příklad, proč a jak jsem potřeboval odeslat e-maily (s přílohami) pomocí aplikace Excel. Možná by to pro vás mohlo být inspirací k zefektivnění nějakého procesu s vašimi pracovními postupy nebo kolegy.
Základní vzorec ze šablony jsem se naučil z tohoto videa na YouTube níže.
Vysvětlím, jak jsem použil šablonu podrobně popsanou ve výše uvedeném videu a použil ji k provedení úkolu, který jsem potřeboval automatizovat.
Co jsem potřeboval, aby pro mě makro udělalo
To, co jsem potřeboval udělat, bylo následující.
Z databáze jsem mohl stáhnout samostatné přehledy prodeje pro každou zemi. Mohl bych také stáhnout data (která obsahují návštěvníky webových stránek, potenciální zákazníky a prodeje) do jedné tabulky v Excelu.
Níže je tabulka s daty (v současné době jsou v ní všechna data náhodná čísla vygenerovaná vzorcem =RANDBETWEEN()).
Potřeboval jsem způsob, jak zkopírovat a vložit tabulku do listu aplikace Excel, který by pak automaticky vytvořil jedinečné e-maily pro 23 různých obchodních kanceláří.
Každý jedinečný e-mail by musel shrnovat výkonnost obchodní kanceláře a mít jedinečnou přílohu e-mailu.
Nakonec jsem dostal níže uvedenou šablonu e-mailu.
Poté jsem vytvořil makro VBA v aplikaci Excel. Text makra je uveden níže.
Sub Send_email_fromexcel()Dim edress As StringDim subj As StringDim message As StringDim filename As StringDim outlookapp As ObjectDim outlookmailitem As ObjectDim myAttachments As ObjectDim path As StringDim lastcol As IntegerDim attachment As StringDim x As Integer x = 2Do While Sheet7.Cells(2, x) <> "" Set outlookapp = CreateObject("Outlook.Application") Set outlookmailitem = outlookapp.createitem(0) Set myAttachments = outlookmailitem.Attachments path = Sheet7.Cells(5, x) edress = Sheet7.Cells(2, x) cc = Sheet7.Cells(3, x) subj = Sheet7.Cells(4, x) filename = Sheet7.Cells(6, x) attachment = path + filename outlookmailitem.to = edress outlookmailitem.cc = cc outlookmailitem.bcc = "" outlookmailitem.Subject = subj outlookmailitem.body = Sheet7.Cells(7, x) myAttachments.Add (attachment) outlookmailitem.display outlookmailitem.send lastcol = lastcol + 1 edress = "" x = x + 1LoopSet outlookapp = NothingSet outlookmailitem = NothingEnd Sub
Pokud byste chtěli experimentovat a procvičit si používání souboru, poskytl jsem šablonu souboru Excel.
Makro jsem bohužel musel ze souboru odstranit, protože nejsem schopen nahrát soubor .xlsm na tento web WordPress.
Stáhněte si šablonu souboru Excelu
Soubor šablony stáhnete kliknutím na níže uvedený odkaz:
Doufám, že tento příspěvek byl užitečný pro ty, kteří mají zájem automatizovat některé úkoly zahrnující Excel a Outlook!
Moje další příspěvky na blogu
Pokud se vám tento příspěvek líbil, mohly by se vám líbit tyto další příspěvky na blogu, které jsem napsal.
.
Jsem Michael
Jsem jihoafrický digitální analytik žijící v Torontu, Kanadě. Bloguji o digitálním marketingu, webové analytice a vizualizaci dat.
Spojte se se mnou!
LinkedIn
Twitter
Email
.