Jak wysyłać wiadomości e-mail z arkusza kalkulacyjnego Excel za pomocą skryptów VBA

  • Owen Little
  • 0
  • 5387
  • 1365
Reklama

Do wysyłania wiadomości e-mail z Microsoft Excel wystarczy tylko kilka prostych skryptów. Dodaj tę funkcjonalność do swoich arkuszy kalkulacyjnych i możesz naprawdę zwiększyć, ile możesz osiągnąć w programie Excel.

Omówiliśmy wiele świetnych makr Excela, które mogą osiągnąć to samo, co skrypty VBA, ale bez potrzeby znajomości programowania. Istnieje jednak wiele zaawansowanych rzeczy, które można zrobić tylko za pomocą VBA, takich jak tworzenie raportu arkusza kalkulacyjnego zawierającego wszystkie informacje o komputerze.

Wolisz obejrzeć ten samouczek jako film? Jesteśmy z Tobą!

Po co wysyłać e-maile z Excela?

Istnieje wiele powodów, dla których warto wysłać wiadomość e-mail z poziomu programu Microsoft Excel.

Być może masz pracowników, którzy co tydzień aktualizują dokumenty lub arkusze kalkulacyjne i chcesz otrzymywać powiadomienia e-mail o tym, kiedy te aktualizacje zostaną wykonane. Lub możesz mieć arkusz kalkulacyjny kontaktów i chcesz wysłać jeden e-mail do wszystkich jednocześnie.

Prawdopodobnie myślisz, że skryptowanie wiadomości e-mail z programu Excel będzie skomplikowane. W ogóle tak nie jest.

Technika w tym artykule wykorzystuje funkcję, która była dostępna w Excel VBA od dłuższego czasu, Obiekty danych współpracy (CDO).

CDO to komponent przesyłania wiadomości używany w systemie Windows od bardzo wczesnych generacji systemu operacyjnego. Kiedyś nazywał się CDONTS, a następnie wraz z pojawieniem się Windows 2000 i XP został zastąpiony “CDO dla Windows 2000”. Ten składnik jest już uwzględniony w instalacji VBA w programie Microsoft Word lub Excel i jest gotowy do użycia.

Korzystanie ze składnika sprawia, że ​​wysyłanie wiadomości e-mail z produktów Windows za pomocą VBA jest niezwykle łatwe. W tym przykładzie użyjesz komponentu CDO w programie Excel, aby wysłać wiadomość e-mail, która dostarczy wyniki z określonej komórki Excela.

Krok 1: Utwórz makro VBA

Pierwszym krokiem jest przejście do karty Deweloper Excel.

Na karcie Deweloper kliknij Wstawić w polu Sterowanie, a następnie wybierz przycisk polecenia.

Narysuj go w arkuszu, a następnie utwórz dla niego nowe makro, klikając Makra na wstążce programisty.

Po kliknięciu przycisku Stwórz przycisk, otworzy edytor VBA.

Dodaj odwołanie do biblioteki CDO, przechodząc do Przybory > Referencje w edytorze.

Przewiń listę w dół, aż znajdziesz Microsoft CDO dla biblioteki Windows 2000. Zaznacz pole wyboru i kliknij dobrze.

Po kliknięciu dobrze, zanotuj nazwę funkcji, w której wklejasz skrypt. Będziesz go później potrzebować.

Krok 2: Skonfiguruj CDO “Z” i “Do” Fields

Aby to zrobić, musisz najpierw utworzyć obiekty poczty i skonfigurować wszystkie pola niezbędne do wysłania wiadomości e-mail.

Pamiętaj, że chociaż wiele pól jest opcjonalnych, to Z i Do Wypełnienie pól jest wymagane.

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 = "Wyniki z arkusza kalkulacyjnego Excel" strFrom = "rdube02 @ gmail .com "strTo =" [email protected] "strCc =" "strBcc =" "strBody =" Łączne wyniki dla tego kwartału to: "i Str (Sheet1.Cells (2, 1))

Fajną rzeczą w tym jest to, że możesz utworzyć dowolny ciąg, który chcesz dostosować pełną wiadomość e-mail i przypisać go do strBody zmienna.

Poskładaj elementy wiadomości za pomocą I ciąg znaków, aby wstawić dane z dowolnego arkusza Microsoft Excel bezpośrednio do wiadomości e-mail, tak jak pokazano powyżej.

Krok 3: Skonfiguruj CDO do korzystania z zewnętrznego SMTP

Następna sekcja kodu to miejsce, w którym skonfigurujesz CDO do korzystania z dowolnego zewnętrznego serwera SMTP do wysyłania wiadomości e-mail.

Ten przykład to konfiguracja bez SSL przez Gmaila. CDO może obsługiwać SSL, ale to nie wchodzi w zakres tego artykułu. Jeśli potrzebujesz użyć protokołu SSL, ten zaawansowany kod w Github może pomóc.

Ustaw CDO_Mail = CreateObject („CDO.Message”) przy błędzie Przejdź do Error_Handling Ustaw CDO_Config = CreateObject („CDO.Configuration”) CDO_Config.Load -1 Set SMTP_Config = CDO_Config.Fields With SMTP_Config .Item ("http://schemas.microsoft.com .com / cdo / configuration / sendusing ”) = 2 .Item („ http://schemas.microsoft.com/cdo/configuration/smtpserver ”) =„ smtp.gmail.com ”.Item („ http: // schematy .microsoft.com / cdo / configuration / smtpauthenticate ”) = 1 .Item („ http://schemas.microsoft.com/cdo/configuration/sendusername ”) =„ [email protected] ”.Item („ http: / /schemas.microsoft.com/cdo/configuration/sendpassword ") =" hasło ".Item (" http://schemas.microsoft.com/cdo/configuration/smtpserverport ") = 25 .Item (" http: // schematy .microsoft.com / cdo / configuration / smtpusessl ") = True .Update End With With CDO_Mail Set .Configuration = CDO_Config End With

Krok 4: Zakończ konfigurację CDO

Po skonfigurowaniu połączenia z serwerem SMTP do wysyłania wiadomości e-mail wystarczy wypełnić odpowiednie pola Obiekt CDO_Mail, i wystawić Wysłać dowództwo.

Oto jak to zrobić:

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 Błąd Error Handling: If Err.DescriptionBox

Nie będzie żadnych wyskakujących okienek ani komunikatów alarmowych, które mogą się zdarzyć, gdy skorzystasz z obiektu poczty programu Outlook.

CDO po prostu zbiera wiadomość e-mail i wykorzystuje szczegóły połączenia z serwerem SMTP, aby wysłać wiadomość. To najprostszy sposób na włączenie wiadomości e-mail w skrypty Microsoft Word lub Excel VBA.

Aby połączyć przycisk polecenia z tym skryptem, przejdź do edytora kodu i kliknij Arkusz 1 aby wyświetlić kod VBA dla tego arkusza.

Wpisz nazwę funkcji, w której wkleiłeś powyższy skrypt.

Oto jak wyglądała wiadomość otrzymana w mojej skrzynce odbiorczej:

Uwaga: Jeśli pojawi się komunikat o błędzie Transport nie mógł się połączyć z serwerem, upewnij się, że wpisałeś poprawną nazwę użytkownika, hasło, serwer SMTP i numer portu w liniach kodu wymienionych poniżej Z SMTP_Config.

Kontynuuj i zautomatyzuj cały proces

Dobrze jest móc wysyłać wiadomości e-mail z Excela za naciśnięciem jednego przycisku. Możesz jednak chcieć regularnie korzystać z tej funkcji. W takim przypadku warto zautomatyzować ten proces. 5 Zasobów dla makr programu Excel do automatyzacji arkuszy kalkulacyjnych 5 Zasobów dla makr programu Excel do automatyzacji arkuszy kalkulacyjnych Wyszukiwanie makr programu Excel? Oto pięć witryn, które mają to, czego szukasz. .

Aby to zrobić, musisz wprowadzić zmiany w makrze. Przejdź do Edytora Visual Basic i skopiuj i wklej cały kod, który razem stworzyliśmy.

Następnie wybierz ThisWorkbook z Projekt hierarchia.

Z dwóch pól rozwijanych u góry okna kodu wybierz zeszyt ćwiczeń i wybierz otwarty z menu rozwijanego Metody.

Wklej powyższy skrypt e-mail do Prywatny poddział skoroszytu_Open ().

Spowoduje to uruchomienie makra przy każdym otwarciu pliku Excel.

Następnie otwórz Harmonogram zadań.

Za pomocą tego narzędzia poprosisz system Windows o automatyczne otwieranie arkusza kalkulacyjnego w regularnych odstępach czasu, w którym to momencie makro zostanie zainicjowane, wysyłając wiadomość e-mail.

Wybierz Utwórz podstawowe zadanie… z Akcja i przejdź przez kreatora, aż dojdziesz do Akcja ekran.

Wybierz Uruchom program i kliknij Kolejny.

Użyj Paść się przycisk, aby znaleźć lokalizację Microsoft Excel na komputerze, lub skopiuj i wklej ścieżkę do Program / skrypt pole.

Następnie wprowadź ścieżkę do dokumentu Microsoft Excel w Dodaj argumenty pole.

Ukończ kreatora, a twoje planowanie będzie na miejscu.

Warto uruchomić test, planując akcję Jak automatycznie opróżniać kosz według harmonogramu i zwalniać zmarnowane miejsce Jak automatycznie opróżniać kosz na harmonogramie i zwalniać zmarnowane miejsce Jeśli nie regularnie opróżniasz kosz Bin, może to być marnowanie gigabajtów miejsca na twoim dysku danych. Ale teraz system Windows 10 może go automatycznie opróżnić zgodnie z harmonogramem. przez kilka minut w przyszłości, a następnie zmieniając zadanie, gdy tylko upewnisz się, że działa.

Uwaga: Może być konieczne dostosowanie ustawień Centrum zaufania, aby zapewnić prawidłowe działanie makra.

Aby to zrobić, otwórz arkusz kalkulacyjny i przejdź do Plik > Opcje > Centrum zaufania.

Stąd kliknij Ustawienia Centrum zaufania, i na następnym ekranie ustaw pokrętło radia na Nigdy nie pokazuj informacji o zablokowanych treściach.

Spraw, aby program Microsoft Excel działał dla Ciebie

Microsoft Excel to niezwykle potężne narzędzie, ale nauczenie się, jak najlepiej z niego korzystać, może być nieco zastraszające. Jeśli chcesz naprawdę opanować oprogramowanie, musisz czuć się komfortowo z VBA, a to nie jest małe zadanie.

Jednak wyniki mówią same za siebie. Dzięki niewielkiemu doświadczeniu w posługiwaniu się językiem VBA, wkrótce będziesz mógł automatycznie wykonywać podstawowe zadania w programie Microsoft Excel, co da ci więcej czasu na skoncentrowanie się na bardziej palących sprawach.

Zdobycie wiedzy specjalistycznej na temat VBA wymaga czasu, ale wkrótce zobaczysz owoce swojej pracy, jeśli będziesz mógł się jej trzymać.

Jednym świetnym miejscem na początek jest nasz autorytatywny samouczek na temat używania VBA w Excelu Samouczek dla początkujących na temat pisania makr VBA w programie Excel (i dlaczego warto się uczyć) Samouczek dla początkujących na temat pisania makr VBA w programie Excel (i dlaczego warto się uczyć) Jeśli używasz programu Excel regularnie warto nauczyć się tworzyć makra VBA i uzyskać dostęp do wielu innych funkcji i możliwości. . Po zakończeniu tego prostego skryptu do wysyłania wiadomości e-mail z programu Excel poczujesz się dziecinnie prosty.




Jeszcze bez komentarzy

O nowoczesnej technologii, prostej i niedrogiej.
Twój przewodnik w świecie nowoczesnych technologii. Dowiedz się, jak korzystać z technologii i gadżetów, które nas otaczają każdego dnia i dowiedz się, jak odkrywać ciekawe rzeczy w Internecie.