Funkcja Excel VBA Outlook
Codziennie pracujemy na wielu plikach Excel i codziennie wysyłamy je do wielu użytkowników. Codziennie piszemy tę samą wiadomość w wiadomości e-mail i wysyłamy ten plik programu Excel. Daje nam to zakres automatyzacji tego zadania. Dobrze to słyszałeś. To zadanie pisania wiadomości e-mail i wysyłania pliku można zautomatyzować za pomocą VBA. Powodem jest to, że VBA może korzystać z odwołania do różnych obiektów Microsoft, takich jak Outlook, Word, PowerPoint, Paint itp.
Możemy więc wysłać wiadomość e-mail za pomocą VBA. Teraz jestem pewien, że wszyscy będą podekscytowani tym, jak możemy wysłać wiadomość e-mail za pomocą VBA.
W tym artykule dowiemy się, jak używać programu Outlook jako obiektu Microsoft z programu Excel przy użyciu kodowania VBA i jak możemy wysłać wiadomość e-mail zawierającą załącznik za pomocą VBA.
Jak korzystać z funkcji programu Excel VBA Outlook?
Aby korzystać z funkcji VBA Outlook, musimy zrobić dwie rzeczy.
Możesz pobrać szablon VBA Outlook Excel tutaj - szablon VBA Outlook Excel- Odwołaj się do obiektu Microsoft Outlook z biblioteki obiektów w VBA.
- Napisz kod VBA, aby wysyłać wiadomości e-mail w module VBA.
# 1 - Odniesienie do programu Outlook z Excela
Jak wiesz, Outlook jest obiektem i musimy podać odniesienie do obiektu Outlook. Tak więc w VBA znajduje się biblioteka referencyjna Object, której musimy użyć jako referencji.
Wykonaj poniższe kroki, aby użyć biblioteki odniesień do obiektu.
Krok 1: Na karcie Deweloper kliknij Visual Basic, aby otworzyć edytor VB.
Krok 2: Przejdź do Narzędzia, a następnie wybierz Odnośniki, jak pokazano na poniższym zrzucie ekranu.
Krok 3: Przewiń w dół do biblioteki obiektów referencyjnych i wybierz „Microsoft Object 16.0 Object Library”, aby udostępnić ją dla Excel VBA.
W zależności od biura Microsoft wersja programu Outlook może być inna. W naszym przypadku jest to 16, 0. Możesz użyć „ Microsoft Outlook 14.0 Object Library”, jeśli jest to wersja pokazana na twoim komputerze.
Zaznacz pole Microsoft Outlook, jak pokazano na powyższym zrzucie ekranu. Teraz możemy użyć obiektu Microsoft Outlook w Excel VBA.
Ten proces ustawiania odniesienia do „MICROSOFT OUTLOOK 16.0 OBJECT LIBRARY” jest znany jako wczesne wiązanie. Bez ustawienia biblioteki obiektów na „MICROSOFT OUTLOOK 16.0 OBJECT LIBRARY” nie możemy korzystać z właściwości IntelliSense i metod języka VBA, co utrudnia pisanie kodu.
# 2 - Napisz kod, aby wysyłać wiadomości e-mail z VBA Outlook z Excela
Wykonaj poniższe kroki, aby napisać kod VBA, aby wysłać wiadomość e-mail z programu Outlook z programu Excel.
Krok 1: Utwórz procedurę podrzędną, nazywając makro. Nazwiemy makro jako „send_email”, jak pokazano na poniższym zrzucie ekranu.
Kod:
Opcja Jawne Sub Send_email () End Sub
Krok 2: Zdefiniuj zmienną jako Outlook. Aplikacja, jak pokazano na poniższym zrzucie ekranu. Jest to odniesienie do aplikacji VBA Outlook.
Kod:
Opcja Jawne Sub Send_email () Dim OutlookApp As Outlook.Application End Sub
Krok 3: Musimy wysłać wiadomość e-mail w programie Outlook, więc zdefiniuj inną zmienną jako „ Outlook.Mailitem ”, jak pokazano na poniższym zrzucie ekranu.
Kod:
Opcja Jawne Sub Send_email () Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem End Sub
Krok 4: W poprzednich krokach zdefiniowaliśmy zmienną, teraz musimy je ustawić.
Teraz ustaw pierwszą zmienną „Aplikacja Outlook” jako „Nowa aplikacja Outlook. Aplikacja”, jak pokazano na poniższym zrzucie ekranu.
Kod:
Opcja Jawne Sub Send_email () Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem Set OutlookApp = Nowy Outlook.Application Koniec Sub
Krok 5: Teraz ustaw drugą zmienną „Poczta programu Outlook” z poniższym kodem.
Kod:
Opcja Jawne Sub Send_email () Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem Set OutlookApp = Nowy zestaw Outlook.Application OutlookMail = OutlookApp.CreateItem (olMailItem) End Sub
Krok 6: Możemy teraz korzystać z VBA Outlook, używając instrukcji „ With ”, jak pokazano na poniższym zrzucie ekranu.
Kod:
Opcja Jawne Sub Send_email () Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem Set OutlookApp = Nowy zestaw Outlook.Application OutlookMail = OutlookApp.CreateItem (olMailItem) Za pomocą Outlook End Mail Sub
Mamy teraz pełny dostęp do elementów e-mail, takich jak „Do”, „CC”, „BCC”, „temat”, „Treść wiadomości e-mail” i wiele innych elementów.
Krok 7: Wewnątrz instrukcji „With” możemy zobaczyć listę, umieszczając kropkę znaną jako „Intellisense List”.
Krok 8: Najpierw wybierz format treści jako olFormatHtml, jak pokazano na poniższym zrzucie ekranu.
Kod:
Z OutlookMail .BodyFormat = olFormatHTML End Sub
Krok 9: Wybierz „ .Display ”, aby wyświetlić pocztę, jak pokazano na poniższym zrzucie ekranu.
Kod:
Z OutlookMail .BodyFormat = olFormatHTML .Display End Sub
Krok 10: Wybierz „ .HTMLbody ”, aby napisać wiadomość e-mail, jak pokazano na poniższym zrzucie ekranu.
Kod:
Z OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = „napisz tutaj swój adres e-mail” End Sub
Musimy pamiętać o kilku rzeczach podczas pisania wiadomości e-mail w kodzie VBA.
„
”Służy do uwzględnienia podziału linii między dwiema liniami. Aby dodać podpis do wiadomości e-mail, musisz wpisać „& .HTMLbody”
Zobacz poniższy przykład, jak pisać pocztę w VBA.
Kod:
Z OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = „Drogi ABC” i „
„&” Proszę znaleźć załączony plik ”i .HTMLBody End Sub
Krok 11: Teraz musimy dodać odbiorcę wiadomości e-mail. W tym celu musisz użyć „.To”.
Kod:
.To = „ ”
Krok 12: Jeśli chcesz dodać kogoś do „CC” i „BCC”, możesz użyć „.CC” i „.BCC”, jak pokazano na poniższym zrzucie ekranu.
Kod:
.CC = „ ” .BCC = „ ”
Krok 13: Aby dodać temat wysyłanego e-maila, możemy użyć „ .Subject ”, jak pokazano na poniższym zrzucie ekranu.
Kod:
.Subject = "TEST MAIL"
Krok 14: Możemy dodać nasz bieżący skoroszyt jako załącznik do wiadomości e-mail za pomocą właściwości „.Attachment”. Aby to zrobić, najpierw zadeklaruj zmienną Source jako ciąg.
Kod:
Dim plik_źródłowy jako ciąg
Następnie użyj następującego kodu, aby załączyć plik do wiadomości e-mail.
Kod:
plik_źródłowy = ThisWorkbook.FullName .Attachments.Dodaj plik_źródłowy
Tutaj ten skoroszyt jest używany dla bieżącego skoroszytu i. Pełna nazwa służy do uzyskania pełnej nazwy arkusza.
Krok 15: Teraz ostatnim kodem jest w końcu wysłanie e-maila, dla którego możemy użyć „ .send ”. Pamiętaj jednak, aby zamknąć procedurę With i Sub wykonując polecenia „End with” i „End Sub”, jak pokazano na poniższym zrzucie ekranu.
Tak więc kod jest w końcu gotowy do wysłania wiadomości e-mail. Musimy teraz uruchomić makro.
Krok 16: Uruchom kod, naciskając klawisz F5 lub Run i zobacz wynik.
Ostateczny pełny kod
Poniżej znajduje się końcowy kod, jak wysłać wiadomość e-mail za pomocą programu VBA Outlook.
Kod:
Opcja Jawna Sub Send_email () Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem Dim plik_źródłowy As String Set OutlookApp = Nowy Outlook.Application Set OutlookMail = OutlookApp.CreateItem (olMailItem) Z OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody Drogi ABC ”i„
„&” Proszę znaleźć załączony plik ”. Pełna nazwa. Załączniki. Dodaj plik_źródłowy. Wyślij End Sub End
Przykład funkcji VBA Outlook
Załóżmy, że istnieje lider zespołu i chce on codziennie wysyłać wiadomości e-mail w celu śledzenia działań każdego członka. E-mail będzie taki.
„ Cześć drużynie,
Poproś, abyś dzisiaj uprzejmie podzielił się swoimi działaniami dotyczącymi każdego z elementów kontrolnych do godziny 11.00.
Dziękuję i pozdrawiam,
Nieznany
„
Wykonaj kroki wymienione powyżej, aby odwołać się do obiektu Microsoft i napisać kodowanie VBA, lub możesz po prostu odpowiednio zmodyfikować kod.
Tak więc, gdy cały kod pozostaje taki sam, musimy zmienić kilka rzeczy w kodzie, takich jak identyfikator e-mail odbiorcy, temat, treść wiadomości e-mail i nie będzie załącznika w wiadomości e-mail.
Poniżej znajduje się zmodyfikowany kod, którego używamy do pisania tego e-maila.
Kod:
Sub Send_teamemail () Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem Set OutlookApp = Nowy Outlook.Application Set OutlookMail = OutlookApp.CreateItem (olMailItem) Z OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = "Hi Team" & "
„&”
„&” Poproś o uprzejme udostępnienie swoich działań dotyczących każdego z elementów kontrolnych do godz. 20:00. ”& .HTMLBody .To =" ; ; ".Subject =" Team Follow Up ".Send End With End Sub
Po uruchomieniu makra zobaczysz, że poczta została wysłana automatycznie z twojego widoku.
Rzeczy do zapamiętania
- Najpierw upewnij się, że zainstalowałeś na swoim komputerze Microsoft Outlook i zalogowałeś się na swoje konto.
- Upewnij się, że pole Microsoft Outlook w odwołaniu do biblioteki obiektów jest zawsze zaznaczone. Kod nie uruchomi się i zgłosi błąd, jeśli nie zostanie sprawdzony.
- Definiowanie zmiennych i ustawianie zmiennych jest bardzo ważne w kodowaniu VBA. Bez zmiennych kod nie będzie działał.
- Upewnij się, że jeśli chcesz dodać podpis w poczcie, najpierw powinieneś mieć co najmniej jeden podpis utworzony już w programie Outlook.
- Zawsze używaj „
”, Aby wprowadzić luki w linii w poczcie.
Polecane artykuły
To jest przewodnik po VBA Outlook. Tutaj omawiamy, jak wysyłać wiadomości e-mail z programu Outlook przy użyciu kodów VBA w programie Excel, wraz z przykładem i szablonem programu Excel do pobrania. Poniżej znajduje się kilka przydatnych artykułów Excela związanych z VBA -
- Co to jest błąd przepełnienia VBA?
- Dostosuj pasek narzędzi Szybki dostęp w programie Excel
- Przykłady nazwanego zakresu VBA
- Jak wysłać wiadomość e-mail z Excel VBA
- Jak korzystać z opcji Jawne w VBA?