Korzystanie ze skryptów VBA w programie Excel nie wymaga żadnej wiedzy programistycznej. VBA pomaga wykonywać wiele zaawansowanych zadań, takich jak tworzenie raportu arkusza kalkulacyjnego zawierającego wszystkie informacje o komputerze, wysyłanie wiadomości e-mail bezpośrednio z arkusza kalkulacyjnego ...
Aby wysłać wiadomość e-mail z Microsoft Excel, wystarczy kilka prostych skryptów. Nie obawiaj się dodać tej funkcji do arkusza kalkulacyjnego, jeśli naprawdę chcesz w pełni wykorzystać oprogramowanie biurowe Excel.
E-mail z Excela
Istnieje wiele powodów, dla których chcesz wysyłać wiadomości e-mail bezpośrednio w programie Microsoft Excel. Na przykład pracownicy aktualizują dokumenty i arkusze kalkulacyjne co tydzień, a Ty chcesz otrzymywać powiadomienia e-mail, gdy ta czynność jest zakończona, a czasem chcesz wysłać e-mailem do wszystkich kontaktów w tym samym skoroszycie. w ...
Musiałeś pomyśleć o użyciu skomplikowanego skryptu wysyłania wiadomości e-mail w programie Excel, ale w rzeczywistości jest to bardzo proste. W tym artykule dowiesz się, jak skorzystać z funkcji, która od dawna jest dostępna w programie Excel VBA, o nazwie Collaboration Data Objects (CDO) .

CDO to komponent do przesyłania wiadomości używany w systemie Windows od wczesnych wersji. Nazywało się to CDONTS. Po narodzinach Windows 2000 i XP „CDO dla Windows 2000” zastąpiło go. Ten składnik jest zawarty w instalacji VBA w Microsoft Word lub Excel i jest dostępny do użycia w dowolnym momencie.
Używanie tego komponentu do wysyłania wiadomości e-mail w produktach Windows za pomocą VBA jest niezwykle łatwe. Na przykład ten artykuł używa funkcji CDO w programie Excel do wysyłania wiadomości e-mail zawierających wyniki w jednej komórce.
Krok 1: Utwórz makro VBA
Najpierw przejdź do karty Deweloper Excel > kliknij Wstaw w panelu Sterowanie , a następnie wybierz przycisk polecenia.
![Instrukcje wysyłania wiadomości e-mail z arkuszy kalkulacyjnych Excel za pomocą skryptów VBA Instrukcje wysyłania wiadomości e-mail z arkuszy kalkulacyjnych Excel za pomocą skryptów VBA]()
Przeciągnij go do tego arkusza, a następnie utwórz nowe makro, klikając Makra na wstążce Deweloper.
![Instrukcje wysyłania wiadomości e-mail z arkuszy kalkulacyjnych Excel za pomocą skryptów VBA Instrukcje wysyłania wiadomości e-mail z arkuszy kalkulacyjnych Excel za pomocą skryptów VBA]()
Po kliknięciu przycisku Utwórz otwiera edytor VBA.
Dodaj odwołanie do biblioteki CDO, przechodząc do Narzędzia> Odnośniki w edytorze.
![Instrukcje wysyłania wiadomości e-mail z arkuszy kalkulacyjnych Excel za pomocą skryptów VBA Instrukcje wysyłania wiadomości e-mail z arkuszy kalkulacyjnych Excel za pomocą skryptów VBA]()
Przewiń listę w dół, aż zobaczysz Microsoft CDO dla Windows 2000 Library . Zaznacz pole wyboru i kliknij OK .
![Instrukcje wysyłania wiadomości e-mail z arkuszy kalkulacyjnych Excel za pomocą skryptów VBA Instrukcje wysyłania wiadomości e-mail z arkuszy kalkulacyjnych Excel za pomocą skryptów VBA]()
Po kliknięciu OK zanotuj nazwę funkcji, w której wklejono skrypt, ponieważ będzie on potrzebny później.
Krok 2: Ustaw pola CDO na „Od” i „Do”
Aby to zrobić, musisz najpierw utworzyć obiekty związane z pocztą e-mail i skonfigurować wszystkie wymagane pola dostarczania wiadomości e-mail.
Pamiętaj, że wiele pól może, ale nie musi, ale pola Od i Do są 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 = "rdube02@gmail.com"
strCc = ""
strBcc = ""
strBody = "Łączne wyniki dla tego kwartału to:" i Str (arkusz 1 Komórki (2, 1))
Interesujące jest to, że możesz utworzyć dowolny ciąg znaków, aby dostosować całą wiadomość e-mail i przypisać jej zmienną strBody.
Składanie zawartości wiadomości e-mail za pomocą ciągu znaków i wstawianie danych z dowolnego arkusza kalkulacyjnego Microsoft Excel bezpośrednio w wiadomości e-mail (jak pokazano powyżej).
Krok 3: Skonfiguruj CDO do korzystania z zewnętrznego SMTP
Następnym fragmentem kodu jest konfiguracja CDO do korzystania z dowolnego zewnętrznego serwera SMTP do wysyłania wiadomości e-mail.
W tym przykładzie nie skonfigurowano protokołu SSL za pośrednictwem Gmaila, CDO może zastąpić protokół SSL, ale wykracza to poza zakres tego artykułu. Jeśli potrzebujesz użyć SSL, zaawansowany kod w Github może ci pomóc.
Ustaw CDO_Mail = CreateObject („CDO.Message”) przy
błędzie GoTo Error_Handling
Ustaw CDO_Config = CreateObject („CDO.Configuration”)
CDO_Config.Load -1
Ustaw SMTP_Config = CDO_Config.Fields
Z SMTP_Config
.Item („http://schemas.microsoft.com/cdo/configuration/sendusing”) = 2
.Item („http://schemas.microsoft.com/cdo/configuration/smtpserver”) = „smtp. gmail.com ”
.Item („ http://schemas.microsoft.com/cdo/configuration/smtpauthenticate ”) = 1
.Item („ http://schemas.microsoft.com/cdo/configuration/sendusername ”) =„ email@website.com ”
.Item („ http://schemas.microsoft.com/cdo/configuration/sendpassword ”) =„ hasło ”
.Item („ http://schemas.microsoft.com/cdo/configuration/smtpserverport ”) = 25.
Pozycja („ http://schemas.microsoft.com/cdo/configuration/smtpusessl ”) = True
.Update
End With
Z
ustawieniem CDO_Mail. Konfiguracja = CDO_Konfiguracja
Koniec z
Krok 4: Zakończ konfigurację CDO
Twój serwer SMTP został skonfigurowany do wysyłania wiadomości e-mail. Wszystko, co musisz zrobić, to wypełnić odpowiednie pola dla obiektu CDO_Mail i wydać polecenie Send .
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
Error_Handling:
If Err.Description <> "" Następnie MsgBox Err.Description
Żadne wyskakujące okienko lub alerty bezpieczeństwa nie pojawiają się tak, jak zwykle podczas używania obiektu e-mail programu Outlook.
CDO po prostu umieszcza komponenty e-mail obok siebie i wykorzystuje szczegóły połączenia z serwerem, aby umożliwić wysyłanie informacji. Jest to najprostszy sposób łączenia wiadomości e-mail w skrypty Microsoft Word lub Excel VBA.
Aby podłączyć przycisk polecenia do tego skryptu, otwórz edytor kodu i kliknij Arkusz1, aby zobaczyć kod VBA tego arkusza.
Wpisz nazwę funkcji, w której wkleiłeś powyższy skrypt.
![Instrukcje wysyłania wiadomości e-mail z arkuszy kalkulacyjnych Excel za pomocą skryptów VBA Instrukcje wysyłania wiadomości e-mail z arkuszy kalkulacyjnych Excel za pomocą skryptów VBA]()
To są informacje, które otrzymujesz w skrzynce odbiorczej.
![Instrukcje wysyłania wiadomości e-mail z arkuszy kalkulacyjnych Excel za pomocą skryptów VBA Instrukcje wysyłania wiadomości e-mail z arkuszy kalkulacyjnych Excel za pomocą skryptów VBA]()
Uwaga : Jeśli pojawi się komunikat o błędzie Transport nie nawiązał połączenia z serwerem , upewnij się, że wprowadziłeś poprawną nazwę użytkownika, hasło, serwer SMTP i numer portu w wierszu kodu wymienionym w polu Z SMTP_Config .
Usprawnij i zautomatyzuj cały proces
Wysyłanie wiadomości e-mail z programu Excel za pomocą jednego przycisku jest naprawdę bezpieczne i wygodne. Jeśli chcesz często korzystać z tej funkcji, możesz ją zautomatyzować.
Aby to zrobić, musisz zmienić makro. Przejdź do Edytora Visual Basic, skopiuj i wklej cały zebrany kod. Następnie wybierz ThisWorkbook z hierarchii projektu .
Z dwóch rozwijanych pól u góry okna kodu wybierz Skoroszyt i kliknij Otwórz z menu Metody . Wklej powyższy skrypt e-mail do Private Sub Workbook_Open () . Ta akcja uruchomi makro za każdym razem, gdy otworzysz plik Excel.
![Instrukcje wysyłania wiadomości e-mail z arkuszy kalkulacyjnych Excel za pomocą skryptów VBA Instrukcje wysyłania wiadomości e-mail z arkuszy kalkulacyjnych Excel za pomocą skryptów VBA]()
Następnie otwórz Harmonogram zadań . Za pomocą tego narzędzia poprosisz system Windows o automatyczne otwieranie arkuszy kalkulacyjnych w określonych odstępach czasu. W tym czasie twoje makro zostanie aktywowane i wysłane e-mailem.
![Instrukcje wysyłania wiadomości e-mail z arkuszy kalkulacyjnych Excel za pomocą skryptów VBA Instrukcje wysyłania wiadomości e-mail z arkuszy kalkulacyjnych Excel za pomocą skryptów VBA]()
Wybierz Utwórz podstawowe zadanie ... z menu Akcja i postępuj zgodnie z instrukcjami, aż dojdziesz do ekranu Akcja.
Wybierz Uruchom program i kliknij Dalej .
![Instrukcje wysyłania wiadomości e-mail z arkuszy kalkulacyjnych Excel za pomocą skryptów VBA Instrukcje wysyłania wiadomości e-mail z arkuszy kalkulacyjnych Excel za pomocą skryptów VBA]()
Użyj przycisku Przeglądaj , aby znaleźć lokalizację Microsoft Excel na komputerze lub skopiuj i wklej ścieżkę w polu Program / skrypt .
Następnie wprowadź ścieżkę do dokumentu Microsoft Excel w polu Dodaj argumenty .
Kompletne instrukcje i harmonogram zostaną wykonane.
Powinieneś przetestować tę funkcję, planując działanie w ciągu najbliższych kilku minut, a następnie ponownie sprawdzając zadanie, gdy zobaczysz, że działa skutecznie.
Uwaga : Może być konieczne dostosowanie ustawień Centrum zaufania, aby upewnić się, że makro działa w następujący sposób:
Otwórz arkusz kalkulacyjny i przejdź do Plik> Opcje> Centrum zaufania .
Tutaj kliknij Ustawienia Centrum zaufania . Na następnym ekranie wybierz Nigdy nie pokazuj informacji o zablokowanej treści .
Microsoft Excel to niezwykle potężne narzędzie, ale nauczenie się jego używania może czasem stanowić wyzwanie dla wielu osób. Jeśli chcesz opanować to oprogramowanie, musisz wiedzieć, jak korzystać z VBA. To nie jest łatwe.
Jednak przy odrobinie doświadczenia w języku VBA możesz zautomatyzować podstawowe zadania w programie Microsoft Excel i poświęcić więcej czasu na ważniejsze zadania.
Mam nadzieję, że ten artykuł jest dla Ciebie pomocny. Życzę sukcesów!