Här är en metod för hur man skickar e-post med hjälp av ett VBA-makro i Excel. I det här inlägget kommer jag inte att gå igenom en steg för steg-guide om hur det är möjligt att skicka e-postmeddelanden med Excel med hjälp av makron och VBA-alternativ i Microsoft Excel.
Detta beror på att den kalkylbladsmall som jag vill dela med mig av skapades för ett mycket specifikt syfte, och det är osannolikt att den genomsnittliga bloggläsaren kommer att ha någon nytta av den.
Vad jag istället vill göra är att ge dig ett exempel på varför och hur jag behövde skicka ut e-postmeddelanden (med bilagor) med Excel. Detta kan kanske vara en inspiration för dig att göra någon process med ditt arbetsflöde eller dina kollegor mer effektiv.
Jag lärde mig den grundläggande formeln från mallen från den här YouTube-videon nedan.
Jag ska förklara hur jag använde mallen som beskrivs i videon ovan, och använde den för att utföra den uppgift som jag behövde automatisera.
Vad jag behövde att makrot skulle göra åt mig
Vad jag behövde göra var följande.
Från en databas kunde jag ladda ner separata försäljningsrapporter för varje land. Jag kan också ladda ner data (som innehåller webbplatsbesökare, leads och försäljning) till en tabell i Excel.
Nedan följer tabellen med data (de data som för närvarande finns där är alla slumpmässiga tal som genereras med formeln =RANDBETWEEN()).
Jag behövde ett sätt att kopiera och klistra in tabellen i ett Excel-ark, som sedan automatiskt skulle skapa unika e-postmeddelanden för 23 olika försäljningskontor.
Varje unikt e-postmeddelande skulle behöva sammanfatta försäljningskontorets resultat och ha en unik e-postbilaga.
Jag slutade med en e-postmall nedan.
Jag skapade sedan ett VBA-makro i Excel. Makrotexten finns nedan.
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
Jag har tillhandahållit Excel-filmallen om du vill experimentera och öva på att använda filen.
Tyvärr har jag varit tvungen att ta bort makron från filen, eftersom jag inte kan ladda upp en .xlsm-fil till den här WordPress-webbplatsen.
Ladda ner mall för Excel-fil
Ladda ner mallfilen genom att klicka på länken nedan:
Hoppa att det här inlägget var användbart för dem som är intresserade av att automatisera vissa uppgifter som involverar Excel och Outlook!
Mina andra blogginlägg
Om du gillade det här inlägget kanske du gillar dessa andra blogginlägg jag har skrivit.
Jag heter Michael
Jag är en sydafrikansk digital analytiker som bor i Toronto, Kanada. Jag bloggar om digital marknadsföring, webbanalys och datavisualisering.
Kontakta mig!
LinkedIn
Twitter
Email
.