VBA Wyślij e-mail z programu Excel - Kod krok po kroku do wysłania wiadomości e-mail

Kod VBA do wysyłania wiadomości e-mail z programu Excel

W VBA do wysyłania wiadomości e-mail z programu Excel możemy zautomatyzować naszą funkcję wysyłkową, abyśmy mogli automatycznie wysyłać wiadomości e-mail do wielu użytkowników naraz, aby to zrobić, musimy pamiętać, że jest to wykonywane przez program Outlook, inny produkt programu Outlook, więc musimy włączyć program Outlook skrypty w VBA, a po zakończeniu używamy metody .Application, aby korzystać z funkcji Outlooka.

Wszechstronność VBA jest po prostu niesamowita. Powód, dla którego programiści VBA uwielbiają doskonalić, ponieważ używając VBA, możemy nie tylko pracować w programie Excel. Raczej możemy również uzyskać dostęp do innych narzędzi Microsoft. Możemy uzyskać dostęp do PowerPointa, Worda i Outlooka za pomocą VBA. Imponowało mi, gdy usłyszałem o „wysyłaniu e-maili z samego programu Excel”. Tak to jest prawda. Możemy wysyłać e-maile z programu Excel. W tym artykule pokażemy, jak wysyłać wiadomości e-mail z programu Excel z załącznikami za pomocą kodowania VBA.

Ustaw odniesienie do biblioteki Microsoft Office

Musimy wysyłać e-maile z Outlooka. Ponieważ Outlook jest obiektem zewnętrznym, pierwszą rzeczą, którą musimy zrobić, jest ustawienie odniesienia do obiektu na „ Biblioteka obiektów programu Microsoft Outlook 16.0 ”.

  • W VBA przejdź do Narzędzia> Referencje.
  • Teraz zobaczymy bibliotekę referencyjną obiektu. W tym oknie musimy ustawić odniesienie na „Biblioteka obiektów programu Microsoft Outlook 16.0”.
  • Po ustawieniu odniesienia do obiektu kliknij OK.

Teraz mamy dostęp do obiektu Outlooka w kodowaniu VBA.

13 łatwych kroków do wysyłania wiadomości e-mail z programu Excel

Napisanie kodu do wysłania wiadomości e-mail z załącznikiem z programu Excel jest dość skomplikowane, ale warto poświęcić trochę czasu.

Wykonaj poniższe czynności, aby napisać swoje pierwsze makro programu Excel do wiadomości e-mail.

Krok 1

Uruchom podprocedurę w języku VBA.

Kod:

Sub SendEmail_Example1 () End Sub

Krok 2

Zadeklaruj zmienną Outlook.Application

Kod:

Dim EmailApp As Outlook.Application „Dotyczy aplikacji Outlook

Krok 3

Powyższa zmienna jest zmienną obiektową. Musimy osobno utworzyć wystąpienie nowego obiektu. Aby utworzyć nową instancję obiektu zewnętrznego, poniżej znajduje się kod.

Kod:

Ustaw EmailApp = New Outlook.Application 'Aby uruchomić aplikację Outlook

Krok 4

Teraz, aby napisać wiadomość e-mail, zadeklarowaliśmy jeszcze jedną zmienną jako „Outlook.MailItem”.

Kod:

Dim EmailItem As Outlook.MailItem 'Aby polecić nową wiadomość e-mail dotyczącą programu Outlook

Krok 5

Aby uruchomić nowy e-mail, musimy ustawić odwołanie do naszej poprzedniej zmiennej jako CreateItem.

Kod:

Ustaw EmailItem = EmailApp.CreateItem (olMailItem) 'Aby uruchomić nową pocztę Outlook

Ok, teraz zmienna „EmailApp” uruchomi Outlooka, aw zmiennej „EmailItem” możemy zacząć pisać wiadomość.

Krok 6

Teraz musimy być świadomi, jakie przedmioty mamy podczas pisania e-maila. Przede wszystkim musimy zdecydować, do kogo wysyłamy e-mail. W tym celu musimy uzyskać dostęp do właściwości „TO”.

Krok 7

Wprowadź adres e-mail odbiorcy w podwójnych cudzysłowach.

Kod:

EmailItem.To = "[email protected]"

Krok 8

Po skontaktowaniu się z głównym odbiorcą, jeśli chcesz przekazać komuś wiadomość zwrotną do wiadomości e-mail, możemy skorzystać z właściwości „DW”.

Kod:

EmailItem.CC = „[email protected]

Krok 9

Po CC możemy również ustawić identyfikator e-mail BCC.

Kod:

EmailItem.BCC = "[email protected]"

Krok 10

Teraz musimy dodać temat e-maila, który wysyłamy.

Kod:

EmailItem.Subject = "Testuj wiadomości e-mail z Excel VBA"

Krok 11

Teraz musimy napisać treść wiadomości e-mail przy użyciu typu HTML Body.

Kod:

EmailItem.HTMLBody = "Cześć" & vbNewLine & vbNewLine & "To jest mój pierwszy e-mail z programu Excel" & _ vbNewLine & vbNewLine & _ "Pozdrawiam," & vbNewLine & _ "Koder VBA" 'VbNewLine to stała VBA do wstawiania Nowa linia

Krok 12

If we want to add an attachment as the current workbook, we are working on. Then we need to use attachments property. First, declare a variable source as a string.

Code:

Dim Source As String

Then in this variable, write ThisWorkbook.FullName after Email body.

Code:

Source = ThisWorkbook.FullName

In this VBA Code, ThisWorkbook is used for the current workbook and .FullName is used to get the full name of the worksheet.

Then write the following code to attach the file.

Code:

EmailItem.Attachments.Add Source

Step #13

Now finally, we need to send the email to the mentioned email IDs. This can be done by using the “Send” method.

Code:

EmailItem.Send

Ok, we are done with the coding part.

Code:

Sub SendEmail_Example1 () Dim EmailApp As Outlook.Application Dim Source As String Set EmailApp = New Outlook.Application Dim EmailItem As Outlook.MailItem Ustaw EmailItem = EmailApp.CreateItem (olMailItem) EmailItem.To = "[email protected]" EmailItem.CC = "[email protected]" EmailItem.BCC = "[email protected]" EmailItem.Subject = "Testuj wiadomość e-mail z VBA programu Excel" EmailItem.HTMLBody = "Cześć" & vbNewLine & vbNewLine & "To jest mój pierwszy e-mail od Excel "& _ vbNewLine & vbNewLine & _" Pozdrawiam, "& vbNewLine & _" VBA Coder "Source = ThisWorkbook.FullName EmailItem.Attachments.Add Source EmailItem.Send End Sub

Uruchom powyższy kod, a wyśle ​​wiadomość e-mail ze wspomnianą treścią wiadomości e-mail z bieżącym skoroszytem jako załącznikiem.

Interesujące artykuły...