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
  1. Odwołaj się do obiektu Microsoft Outlook z biblioteki obiektów w VBA.
  2. 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 -

  1. Co to jest błąd przepełnienia VBA?
  2. Dostosuj pasek narzędzi Szybki dostęp w programie Excel
  3. Przykłady nazwanego zakresu VBA
  4. Jak wysłać wiadomość e-mail z Excel VBA
  5. Jak korzystać z opcji Jawne w VBA?

Kategoria: