VBA E-Mail von Excel senden

VBA beschränkt sich nicht nur auf Excel-Daten. Wir können E-Mails über VBA senden und dies werden wir in diesem Artikel erfahren. Es erfordert beträchtliche Kenntnisse von VBA und seinen Methoden, um den Code zum Senden von E-Mails von Excel zu schreiben. Bevor wir E-Mails von Excel schreiben und senden, teilen Sie uns mit, was diese Automatisierung bedeutet. Diese Art der Automatisierung bedeutet, dass Sie mit einer beliebigen anderen Anwendung auf eine Funktion einer anderen Anwendung zugreifen. Jetzt wird die Mailing-Funktion von Microsoft in Outlook angeboten. Wir werden Methoden und Eigenschaften von Outlook in Excel verwenden, um E-Mails zu senden. Um eine E-Mail senden zu können, müssen wir auch die Grundlagen der E-Mail kennen. Was ist der Prozess und was ist die Voraussetzung, um eine E-Mail zu senden? Eine E-Mail besteht aus einer E-Mail-Adresse des Absenders, wenn es eine CC (Carbon Copy) oder eine BCC und eine Betreffzeile mit einem E-Mail-Text gibt.

So senden Sie E-Mails aus Excel VBA?

Lassen Sie uns anhand eines Beispiels lernen, wie Sie E-Mails über Outlook aus Excel in VBA senden. In diesem Beispiel senden wir auch einen Anhang an den Empfänger, dieselbe Excel-Datei, in der wir den Code schreiben.

Sie können diese Excel-Vorlage für VBA-E-Mail-Versand hier herunterladen - Excel-Vorlage für VBA-E-Mail-Versand

Führen Sie die folgenden Schritte aus, um E-Mails mit VBA-Code aus Excel zu senden:

Schritt 1: Klicken Sie auf der Registerkarte Entwickler auf Visual Basic, um den VB-Editor zu öffnen.

Bevor wir Codes schreiben, um eine E-Mail zu senden, müssen wir wissen, dass Outlook ein externes Objekt ist und dass wir es in der VBA referenzieren müssen.

Schritt 2: Gehen Sie zu Tools und wählen Sie Referenzen.

Schritt 3: Wenn Sie auf die Referenz klicken, wird ein Assistentenfenster für uns geöffnet. Suchen Sie eine Referenz für die Microsoft Outlook-Objektbibliothek, überprüfen Sie diese und klicken Sie auf OK.

Schritt 4: Klicken Sie auf die Registerkarte Einfügen und fügen Sie ein Modul in das VBA-Projekt ein.

Schritt 5: Definieren Sie eine Unterprozedur wie unten gezeigt.

Code:

 Sub EmailExample () End Sub 

Schritt 6: Unter Bezugnahme auf den obigen Ausblick können wir jetzt auf die Eigenschaften von Outlook in VBA zugreifen. Lassen Sie uns nun eine Variable als Outlook-Anwendung deklarieren.

Code:

 E-Mail als Outlook.Application dimmen 

Schritt 7: Diese Variable ist wie FSO eine Objektvariable. Wenn Sie also auf eine andere Anwendung zugreifen möchten, die Sie zum Erstellen einiger Instanzen benötigen, erstellen Sie eine Instanz wie unten dargestellt mit dem Schlüsselwort SET.

Code:

 Set Email = New Outlook.Application 

Schritt 8: Da wir einen Anhang an den Empfänger senden möchten, müssen wir eine Variable als String deklarieren, die den Pfad für den Anhang enthält.

Code:

 Dim Sr As String 

Schritt 9: Beginnen wir nun mit dem Mailing-Teil in diesem Code. Um eine E-Mail zu senden, müssen wir eine andere Variable definieren, die die Eigenschaft von Outlook verwendet, um auf eine neue E-Mail zu verweisen, wie unten gezeigt.

Code:

 Newmail als Outlook.MailItem dimmen 

Schritt 10: Ähnlich wie oben bei Verwendung einer anderen Anwendung im Beispiel müssen wir Instanzen erstellen. Jetzt müssen wir eine Instanz für eine neue E-Mail erstellen, die die neue E-Mail mit dem festgelegten Schlüsselwort öffnet.

Code:

 Setze newmail = Email.CreateItem (olMailItem) 

Bevor wir weitermachen, möchte ich Ihnen unsere bisherigen Fortschritte erläutern. Die erste Instanz öffnet Outlook für uns, während die zweite Instanz die neue E-Mail für uns öffnet.

Schritt 11: Wie ich oben erklärt habe, müssen Sie eine E-Mail senden. Die erste Anforderung ist ein Empfänger, der in einer E-Mail "An" ist. Verwenden wir also die Eigenschaft To von Outlook in Excel wie folgt.

Code:

 newmail.To = " " 

Schritt 12: Da wir die To-Eigenschaft verwendet haben, müssen wir noch eine andere Funktion verwenden, z. B. die Carbon Copy-Eigenschaft oder die CC-Eigenschaft von Outlook.

Code:

 newmail.CC = " " 

Ebenso können wir die BCC-Eigenschaft verwenden.

Hinweis: Die BCC-Eigenschaft wird verwendet, wenn die E-Mail-Adresse des BCC-Empfängers vor den anderen Empfängern verborgen werden soll.

Was ist der nächste Schritt beim Senden einer E-Mail?

Schritt 13: Es ist abhängig. Wenn wir den Instanznamen mit einem Punktoperator schreiben, sehen wir die Option für einen Betreff wie folgt.

Schritt 14: Drücken Sie die Tabulatortaste auf dem Betreff IntelliSense und schreiben Sie einen zufälligen Betreff wie unten gezeigt.

Code:

 newmail.Subject = "Dies ist eine automatisierte E-Mail" 

Schritt 15: Der nächste Schritt beim Schreiben einer E-Mail ist ein Text für die E-Mail. Wie die Eigenschaften, die wir oben für die Instanz verwendet haben, verwenden wir die body-Eigenschaft des Outlooks, um den Body wie folgt zu schreiben.

Code:

 newmail.HTMLBody = "Hallo", & vbNewLine & vbNewLine & "Dies ist eine Test-E-Mail von Excel" & _ vbNewLine & vbNewLine & _ "Grüße" & vbNewLine & _ "VBA-Coder" 

Schritt 16: Jetzt haben wir eine E-Mail mit einem Text und einer Betreffzeile erstellt. Im nächsten Schritt fügen Sie der E-Mail einen Anhang hinzu. Da wir das aktuelle Arbeitsblatt an den Empfänger senden möchten, verwenden wir den folgenden Pfad:

Code:

 Sr = ThisWorkbook.FullName 

Schritt 17: Jetzt können wir den Anhang wie unten gezeigt mit der Eigenschaft "Anhang" senden.

Code:

 newmail.Attachments.Add Sr 

Schritt 18: Jetzt müssen wir endlich die E-Mail senden. Wie in Outlook drücken wir die Senden-Taste, um eine E-Mail zu senden. Ebenso verwenden wir die Sendeeigenschaften von Outlook wie folgt.

Code:

 newmail.Send 

Endgültiger vollständiger Code

Im Folgenden finden Sie den endgültigen Code zum Senden einer E-Mail aus Excel mithilfe von VBA.

Code:

 Sub EmailExample () Dim Email As Outlook.Application Set Email = New Outlook.Application Dim Sr As String Dim newmail As Outlook.MailItem Set newmail = Email.CreateItem (olMailItem) newmail.To = " " newmail.CC = " " newmail.Subject = "Dies ist eine automatisierte E-Mail" newmail.HTMLBody = "Hallo", & vbNewLine & vbNewLine & "Dies ist eine Test-E-Mail von Excel" & _vbNewLine & vbNewLine & _ "Grüße" & vbNewLine & _ "VBA Coder" Sr = ThisWorkbook.FullName newmail.Attachments.Add Sr newmail.Send End Sub 

Wenn wir den obigen Code ausführen, müssen wir einige Sekunden warten, bis der Code ausgeführt wird, und wir können das gesendete Kästchen in Outlook auschecken, dass die E-Mail über Excel gesendet wurde.

Dinge, an die man sich erinnern sollte

  • Wir verwenden eine andere Anwendung, um eine E-Mail von Excel zu senden.
  • Um eine andere Anwendung zu verwenden, erstellen wir Instanzen.
  • Bevor Sie Outlook als andere Anwendung verwenden können, müssen Sie auf der Registerkarte Referenz auf Outlook-Objekte verweisen.
  • Wir müssen die Anforderungen einer E-Mail kennen, um eine E-Mail senden zu können.

Empfohlene Artikel

Dies ist eine Anleitung zu VBA Send Email From Excel. Hier erfahren Sie, wie Sie E-Mails mit Anhängen aus Excel mithilfe von VBA-Code zusammen mit einem Beispiel und einer herunterladbaren Excel-Vorlage senden. Im Folgenden finden Sie einige nützliche Excel-Artikel zu VBA -

  1. VBA-Hyperlink mit Beispielen
  2. Wie verwende ich die YEAR-Funktion in Excel?
  3. Tipps zur Verwendung von VBA Outlook
  4. Tutorials zur Excel-Datumsfunktion

Kategorie: