Czy kiedykolwiek miałeś potrzebę wysłania wiadomości e-mail z programu Excel VBA do wielu identyfikatorów e-mail, podanych w arkuszu programu Excel? Chcesz dowiedzieć się, jak wysyłać wiadomości e-mail z programu Excel bez otwierania programu Outlook? W tym artykule opisano, w jaki sposób można zautomatyzować program Outlook i jednym kliknięciem wysyłać wiele wiadomości e-mail z załącznikami z programu Excel, zachowując jednocześnie osoby w polach DW i UDW.
W końcu możesz również pobrać plik, aby natychmiast wysłać mężczyzn do setek identyfikatorów. Plik zawiera makro do wysłania e-maila z programu Excel.
Jak wysłać pocztę z Excela?
Aby wysyłać pocztę z programu Excel, musisz zrozumieć te fragmenty VBA.
Ważny: Musisz mieć skonfigurowaną pocztę e-mail w aplikacji Outlook.
Naciśnij klawisz F11, aby otworzyć edytor VB.
- Dodaj odniesienie do biblioteki obiektów programu Outlook:
-
-
- Przejdź do Narzędzia w menu i kliknij Referencje.
-
-
- Znajdź bibliotekę obiektów Microsoft 16.0. Wersja może być inna. W programie Excel 2016 jest to 16,0. Zaznacz to. I kliknij OK.
-
- Utwórz referencje aplikacji i poczty Outlook: Teraz, aby mieć dostęp do funkcji programu Microsoft Outlook, musimy utworzyć jego obiekt.
Dim outApp As Outlook.Application 'Stworzy to odniesienie do obiektu Outlook. Dim outApp As Outlook.MailItem 'Spowoduje to utworzenie odniesienia do MailItem.
-
- Zainicjuj referencje: Powyższe odniesienia należy zainicjować:
Set outApp = Nowy Outlook.Application Set outMail = outApp.CreateItem(0)
-
- Wysyłanie poczty za pomocą obiektu outMail: Poniższe wiersze określają docelowy identyfikator poczty, cc, bcc, temat, treść, załącznik i polecenie send.
Z outMail .To = "abcd.mail.com" 'Obowiązkowe. Tutaj definiujesz docelowy identyfikator poczty… cc = "cc.mail.com" 'opcjonalnie. Identyfikator poczty Cc, jeśli chcesz… BCC = "bcc.mail.com" 'opcjonalnie. Identyfikator poczty UDW, jeśli chcesz… Temat = temat 'powinien mieć. Masaż na ciele pocztowym… Body = msg 'opcjonalnie. Masaż treści wiadomości… Załączniki.Dodaj "C:/exceltip.com\test.xlsx" 'opcjonalnie. W pełni kwalifikowana nazwa załącznika… Wyślij 'Obowiązkowe, jeśli chcesz wysłać pocztę z programu Excel. Jeśli chcesz zobaczyć pocztę w programie Outlook, użyj metody .Display. Kończyć z
Otóż to. To wszystko, czego potrzebujesz, aby wysłać pocztę z programu Excel za pomocą VBA.
Zobaczmy teraz przykład, który wysyła pocztę do każdego identyfikatora e-mail w kolumnie Excel osobno.
Scenariusz:
Wyobraź sobie, że otrzymujesz arkusz Excela zawierający 100 identyfikatorów e-mail i musisz wysłać wiadomość e-mail do każdego identyfikatora e-mail osobno. Nie tylko to, musisz też dołączyć przedmioty. Zajęłoby ci to godziny, jeśli zrobisz to ręcznie. Zautomatyzujmy więc to zadanie mailingowe w Excel VBA.
Tutaj mam te dane. W kolumnie C, zatytułowanej „Wyślij pocztę do”, znajduje się kilka identyfikatorów e-mail. Muszę wysłać wiadomość e-mail na każdy identyfikator e-mail w tej kolumnie.
W tym celu stworzyłem kolumny Temat, Masaż ciała, CC i BCC.
Pole „Wyślij pocztę do” nie powinno zawierać żadnej pustej komórki pomiędzy. Wszystkie pozostałe kolumny mogą mieć puste komórki. Jeśli chcesz
wiele identyfikatorów e-mail w do następnie wpisz te identyfikatory e-mail z przecinkami w tej kolumnie. Upewnij się, że identyfikatory e-mail są prawidłowe.
Jeśli chcesz wysłać załączniki. Wpisz adresy tych plików w kolumnie załączników.
Wpisz temat w kolumnie Temat.
Masaż w kolumnie Massage Body.
Jeśli chcesz zatrzymać kogoś w DW, wpisz jego/jej identyfikator e-mail w kolumnie CC. To samo dla BCC. użyj przecinka dla wielu identyfikatorów e-mail.
Teraz, aby wysłać e-maile do każdego identyfikatora e-mail w kolumnie, wykonaj następujące kroki.
- Naciśnij Alt + F11, aby otworzyć Edytor VBA w programie Excel.
- Dodaj odwołanie do obiektu programu Outlook, wykonując czynności opisane wcześniej.
- W nowym module skopiuj poniższy kod.
'*** Musisz mieć skonfigurowaną pocztę e-mail programu Outlook w aplikacji programu Outlook w swoim systemie *** '*** dodaj referencję do biblioteki obiektów outook z referencji w narzędziach *** Sub BulkMail() Application.ScreenUpdating = False ThisWorkbook.Activate ' Tworzenie odwołań do obiektów Application i MailItem programu Outlook Dim outApp As Outlook.Application Dim outMail As Outlook.MailItem 'Tworzenie zmiennej do przechowywania wartości różnych elementów poczty Dim sendTo, subj, atchmnt, msg, ccTo, bccTo As String Dim lstRow As Long 'Moje dane znajdują się w arkuszu „Exceltip.com”, możesz mieć dowolną nazwę arkusza. ThisWorkbook.Sheets("Exceltip.com").Activate 'Pobieranie ostatniego wiersza zawierającego identyfikator e-mail w kolumnie 3. lstRow = Cells(Rows.Count, 3).End(xlUp).Row 'Zmienna przechowująca wszystkie identyfikatory e-mail Dim rng As Range Set rng = Range("C2:C" & lstRow) 'inicjowanie obiektu programu Outlook, aby uzyskać dostęp do jego funkcji Set outApp = Nowy Outlook.Application On Error GoTo cleanup 'aby obsłużyć każdy błąd podczas tworzenia obiektu. 'Pętla, aby przejść przez każdy wiersz, przechowuj dane w e-mailu w zmiennych i wyślij 'pocztę do każdego identyfikatora e-maila. Dla każdej komórki In rng sendTo = Range(cell.Address).Offset(0, 0).Value2 subj = Range(cell.Address).Offset(0, 1)).Value2 & "-MS" msg = Range(komórka. Address).Offset(0,2)).Value2 atchmnt = Range(cell.Address).Offset(0,-1).Value2 ccTo = Range(cell.Address).Offset(0,3)).Value2 bccTo = Range( cell.Address).Offset(0, 4).Value2 On Error Resume Next 'aby przekazać jakikolwiek błąd podczas tworzenia poniższego obiektu Set outMail = outApp.CreateItem(0) 'Pisanie i wysyłanie poczty w nowej poczcie z outMail .To = sendTo .cc = ccTo .BCC = bccTo .Body = msg .Subject = temat .Attachments.Add atchmnt .Send 'to wysyłanie poczty bez powiadomienia. Jeśli chcesz zobaczyć pocztę przed wysłaniem, użyj metody .Display. Zakończ przy błędzie GoTo 0 'Aby wyczyścić wszelkie błędy przechwycone wcześniej Set outMail = Nic 'anulowanie obiektu poczty wychodzącej dla następnej poczty Następna pętla komórki 'kończy czyszczenie: 'zwalniając wszystkie utworzone obiekty Set outApp = Nic Application.ScreenUpdating = True Application.ScreenUpdating = True Napis końcowy
Powyższy kod wyśle e-maile do każdego identyfikatora e-mail w wierszu kolumny „wyślij pocztę do”. Teraz, aby uruchomić ten kod, możesz uruchomić go bezpośrednio z tego miejsca. Możesz też dodać figurę lub przycisk do skoroszytu, a następnie przypisać to makro do tego obiektu. Używam kształtów, ponieważ można je dostosowywać. Aby to zrobić, wykonaj poniższe czynności.
-
- Przejdź do zakładki Wstaw.
- W grupie Ilustracja możesz znaleźć kształty, kliknij swój ulubiony kształt.
-
- Przeciągnij i upuść go na arkuszu.
- Upiększ, jeśli chcesz.
- Kliknij go prawym przyciskiem myszy. Kliknij Przypisz makro.
-
- Wybierz z listy makro BulkMail.
- Wyjdź z trybu edycji.
Teraz za każdym razem, gdy klikniesz ten obiekt, twoje makro uruchomi się i wyśle e-maile. Sprawdź wysłane maile, aby się upewnić.
Możesz pobrać plik Excel Mail Sender tutaj.
Podziel arkusz Excela na wiele plików na podstawie kolumny za pomocą VBA | Aby podzielić arkusz na wiele plików na podstawie wartości w kolumnie, musisz go przefiltrować, skopiuj i wklej do nowego pliku.
Jak filtrować dane w Excelu za pomocą VBA | Filtrowanie danych za pomocą VBA jest łatwe. Te proste wiersze kodów filtrują dane według podanych kryteriów.
Wyłącz komunikaty ostrzegawcze za pomocą VBA w programie Microsoft Excel 2016 | Podczas wykonywania wielu zadań, takich jak otwieranie i zamykanie plików, program Excel wyświetla komunikaty ostrzegawcze, aby nie utracić danych. Przerywają działający kod. Aby ich uniknąć
Jak przeglądać arkusze w programie Excel za pomocą VBA | Aby tam i z powrotem na dwóch lub więcej arkuszach, musimy je zapętlić. Aby przejść przez wiele arkuszy, używamy…
7 przykładów pętli For w Microsoft Excel VBA | Pętla for jest najczęściej używaną techniką zapętlania w dowolnym języku. Excel VBA nie jest wyjątkiem.
Popularne artykuły:
50 skrótów Excela zwiększających produktywność | Przyspiesz swoje zadanie. Te 50 skrótów przyspieszy pracę w programie Excel.
Jak korzystać z funkcji WYSZUKAJ.PIONOWO w programie Excel | Jest to jedna z najczęściej używanych i popularnych funkcji programu Excel, która służy do wyszukiwania wartości z różnych zakresów i arkuszy.
Jak korzystać z funkcji LICZ.JEŻELI w programie Excel | Policz wartości z warunkami za pomocą tej niesamowitej funkcji. Nie musisz filtrować danych, aby policzyć konkretną wartość. Funkcja Countif jest niezbędna do przygotowania deski rozdzielczej.
Jak korzystać z funkcji SUMA.JEŻELI w programie Excel | To kolejna ważna funkcja deski rozdzielczej. Pomaga to zsumować wartości w określonych warunkach.