VBA E-Mail aus Excel senden

VBA-Code zum Senden von E-Mails aus Excel

In VBA zum Senden von E-Mails aus Excel können wir unsere Mailing-Funktion so automatisieren, dass E-Mails automatisch an mehrere Benutzer gleichzeitig gesendet werden können. Dazu müssen wir uns daran erinnern, dass Outlook von einem anderen Outlook-Produkt ausgeführt wird, sodass Outlook aktiviert werden muss Skripterstellung in VBA, um dies zu tun, und sobald dies erledigt ist, verwenden wir die .Application-Methode, um Outlook-Funktionen zu verwenden.

Die Vielseitigkeit von VBA ist einfach unglaublich. Der Grund, warum VBA-Codierer Excel lieben, weil wir mit VBA nicht nur in Excel arbeiten können, sondern auch auf andere Microsoft-Tools zugreifen können. Wir können mit VBA auf PowerPoint, Word und Outlook zugreifen. Was mich beeindruckt hat, war, als ich hörte, dass ich E-Mails von Excel selbst verschicke. Ja, es stimmt, wir können E-Mails von Excel senden. In diesem Artikel zeigen wir Ihnen, wie Sie E-Mails von Excel mit Anhängen mithilfe der VBA-Codierung senden.

Referenz auf Microsoft Office Library festlegen

Wir müssen E-Mails aus Outlook senden. Da Outlook ein externes Objekt ist, müssen wir zunächst den Objektverweis auf " Microsoft Outlook 16.0- Objektbibliothek " setzen.

  • Gehen Sie in VBA zu Extras> Referenzen

  • Jetzt sehen wir die Objektreferenzbibliothek. In diesem Fenster müssen wir den Verweis auf "Microsoft Outlook 16.0-Objektbibliothek" festlegen.

  • Klicken Sie nach dem Einstellen der Objektreferenz auf OK.

Jetzt können wir in der VBA-Codierung auf das Outlook-Objekt zugreifen.

13 einfache Schritte zum Senden von E-Mails aus Excel

Das Schreiben des Codes zum Senden einer E-Mail mit einem Anhang von Excel ist ziemlich kompliziert, aber es lohnt sich, einige Zeit damit zu verbringen.

Sie können diese VBA-E-Mail-E-Mail-Excel-Vorlage hier herunterladen - VBA-E-Mail-Excel-Vorlage senden

Befolgen Sie die folgenden Schritte, um Ihr erstes E-Mail-Excel-Makro zu schreiben.

Schritt 1

Starten Sie die Unterprozedur in VBA.

Code:

 Sub SendEmail_Example1 () End Sub 

Schritt 2

Deklarieren Sie die Variable Outlook.Application

Code:

 Dim EmailApp As Outlook.Application 'Zum Verweisen auf die Outlook-Anwendung 

Schritt 3

Die obige Variable ist eine Objektvariable. Wir müssen eine Instanz eines neuen Objekts separat erstellen. Um eine neue Instanz des externen Objekts unten zu erstellen, ist der Code.

Code:

 Set EmailApp = New Outlook.Application 'Zum Starten der Outlook-Anwendung 

Schritt 4

Um die E-Mail zu schreiben, deklarieren wir eine weitere Variable als "Outlook.MailItem".

Code:

 Dim EmailItem As Outlook.MailItem 'Zum Verweisen auf neue Outlook-E-Mails 

Schritt 5

Um eine neue E-Mail zu starten, müssen wir den Verweis auf unsere vorherige Variable als CreateItem festlegen.

Code:

 Set EmailItem = EmailApp.CreateItem (olMailItem) 'Zum Starten einer neuen Outlook-E-Mail 

Ok, jetzt startet die Variable "EmailApp" den Ausblick und in der Variablen "EmailItem" können wir mit dem Schreiben der E-Mail beginnen.

Schritt 6

Jetzt müssen wir uns bewusst sein, welche Elemente wir beim Schreiben einer E-Mail haben. Als erstes müssen wir entscheiden, für wen wir die E-Mail senden. Dazu müssen wir auf die Eigenschaft "TO" zugreifen.

Schritt 7

Geben Sie die E-Mail-ID des Empfängers in doppelte Anführungszeichen ein.

Code:

EmailItem.To = "[email protected]"

Schritt 8

Wenn Sie nach der Adressierung an den Hauptempfänger jemanden in der E-Mail CC möchten, können wir die Eigenschaft "CC" verwenden.

Code:

EmailItem.CC = "[email protected]"

Schritt 9

Nach dem CC können wir auch die BCC-E-Mail-ID festlegen.

Code:

EmailItem.BCC = "[email protected]"

Schritt # 10

Jetzt müssen wir den Betreff der E-Mail angeben, die wir senden.

Code:

EmailItem.Subject = "E-Mail von Excel VBA testen"

Schritt 11

Jetzt müssen wir den Text der E-Mail mithilfe des HTML-Texttyps schreiben.

Code:

EmailItem.HTMLBody = "Hi," & vbNewLine & vbNewLine & "This is my first email from Excel" & _ vbNewLine & vbNewLine & _ "Regards," & vbNewLine & _ "VBA Coder" 'VbNewLine is the VBA Constant to insert a new line 

Step #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 ID’s. This can be done by using “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 Set EmailItem = EmailApp.CreateItem(olMailItem) EmailItem.To = "[email protected]" EmailItem.CC = "[email protected]" EmailItem.BCC = "[email protected]" EmailItem.Subject = "Test Email From Excel VBA" EmailItem.HTMLBody = "Hi," & vbNewLine & vbNewLine & "This is my first email from Excel" & _ vbNewLine & vbNewLine & _ "Regards," & vbNewLine & _ "VBA Coder" Source = ThisWorkbook.FullName EmailItem.Attachments.Add Source EmailItem.Send End Sub 

Run the above code and it will send the email with the mentioned body of the email with the current workbook as the attachment.