Oto metoda, jak wysyłać e-maile za pomocą makra VBA w Excelu. W tym poście, nie będę przechodził przez przewodnik krok po kroku, w jaki sposób wysyłanie e-maili przy użyciu Excela jest możliwe przy użyciu makr i opcji VBA w Microsoft Excel.
Jest to spowodowane tym, że szablon arkusza kalkulacyjnego, którym chciałbym się podzielić, został stworzony w bardzo konkretnym celu i jest mało prawdopodobne, aby był przydatny dla przeciętnego czytelnika bloga.
To, co chciałbym zrobić zamiast tego, to dać Ci przykład, dlaczego i jak potrzebowałem wysłać e-maile (z załącznikami) przy użyciu Excela. Być może będzie to dla Ciebie inspiracją do usprawnienia jakiegoś procesu z Twoim obiegiem dokumentów lub współpracownikami.
Podstawowej formuły szablonu nauczyłem się z poniższego filmu na YouTube.
Wyjaśnię, jak wykorzystałem szablon opisany w powyższym filmie i użyłem go do wykonania zadania, które chciałem zautomatyzować.
Co makro miało dla mnie zrobić
To, co potrzebowałem zrobić, to następujące rzeczy.
Z bazy danych mogę pobrać oddzielne raporty sprzedaży dla każdego kraju. Mogę również pobrać dane (które zawierają odwiedzających stronę, leady i sprzedaż) do jednej tabeli w Excelu.
Poniżej znajduje się tabela z danymi (dane, które obecnie się tam znajdują to wszystkie liczby losowe wygenerowane przez formułę =RANDBETWEEN()).
Potrzebowałem sposobu na skopiowanie i wklejenie tabeli do arkusza Excel, który następnie automatycznie utworzyłby unikalne e-maile dla 23 różnych Biur Sprzedaży.
Każdy unikalny e-mail musiałby podsumowywać wyniki Biura Sprzedaży i mieć unikalny załącznik do e-maila.
Skończyło się na poniższym szablonie e-maila.
Następnie utworzyłem makro VBA w Excelu. Tekst makra znajduje się poniżej.
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
Dostarczyłem szablon pliku Excel, jeśli chciałbyś poeksperymentować i poćwiczyć korzystanie z pliku.
Niestety musiałem usunąć makro z pliku, ponieważ nie jestem w stanie przesłać pliku .xlsm do tej witryny WordPress.
Pobierz szablon pliku Excela
Pobierz plik szablonu klikając na poniższy link:
Mam nadzieję, że ten post był przydatny dla osób zainteresowanych automatyzacją niektórych zadań związanych z Excelem i Outlookiem!
Moje inne posty na blogu
Jeśli podobał Ci się ten post, możesz polubić te inne posty na blogu, które napisałem.
.
Jestem Michael
Jestem południowoafrykańskim analitykiem cyfrowym mieszkającym w Toronto, Kanada. Prowadzę bloga o marketingu cyfrowym, analityce internetowej i wizualizacji danych.
Skontaktuj się ze mną!
LinkedIn
Twitter
Email