So senden Sie E-Mails mit VBA in Excel: 11 Schritte für Outlook

Mit Excel VBA können Sie eine Outlook-E-Mail mit Empfänger, Betreff, Nachricht und Arbeitsmappenanhang erstellen. Diese 11-Schritte-Anleitung verwendet das klassische Outlook für Windows und öffnet die Nachricht als Entwurf, damit Sie sie vor dem Senden überprüfen können. Da Microsoft VBA-Makros und das Outlook-Objektmodell in neueren Outlook-Versionen als nicht unterstützt auflistet, funktioniert dieses COM-basierte Beispiel weder mit der neuen Outlook-Version noch mit Outlook im Browser.

Speichern Sie vor Beginn Ihre Arbeit und vergewissern Sie sich, dass das klassische Outlook installiert und ein E-Mail-Konto eingerichtet ist. Der Code verwendet späte Bindung, daher ist kein versionsspezifischer Outlook-Bibliotheksverweis erforderlich.

In 11 Schritten eine E-Mail mit Excel VBA versenden

1. Vergewissern Sie sich, dass das klassische Outlook verfügbar ist.

Öffnen Sie die Desktop-Version von Outlook und stellen Sie sicher, dass das Postfach Nachrichten senden kann. Dieses Makro benötigt das klassische Outlook für Windows; Outlook.com, Outlook im Web und das neue Outlook stellen das hier verwendete COM-Automatisierungsobjekt nicht bereit. Siehe den Funktionsvergleich von Microsoft für das klassische und das neue Outlook .

Excel-Arbeitsmappe mit einem im Hintergrund geöffneten klassischen Outlook-Desktop-Fenster.
Schritt 1: Verwenden Sie die Windows-Desktopversionen von Excel und dem klassischen Outlook.

2. Speichern Sie die Arbeitsmappe als Datei mit Makros.

In Excel wählen Sie „Datei“ > „Speichern unter“ und anschließend „Excel-Arbeitsmappe mit Makros (*.xlsm)“ . Eine normale .xlsx-Datei kann keinen VBA-Code speichern. Speichern Sie die Arbeitsmappe an einem Ort, auf den Sie zugreifen können, und merken Sie sich den Pfad.

Excel-Speichern unter-Dialog mit ausgewähltem Arbeitsmappentyp .xlsm (mit Makros).
Schritt 2: Wählen Sie beim Speichern das Makro-fähige .xlsm-Format.

3. Öffnen Sie den Visual Basic Editor.

Öffnen Sie die Arbeitsmappe in der Excel-Desktop-App und drücken Sie Alt+F11 . Suchen Sie im Projekt-Explorer das Projekt, dessen Name mit dem Ihrer Arbeitsmappe übereinstimmt. Falls der Editor ausgeblendet ist, drücken Sie Strg+R, um den Projekt-Explorer anzuzeigen.

Visual Basic Editor mit Anzeige des Excel-Arbeitsmappenprojekts und eines leeren Codebereichs.
Schritt 3: Das Arbeitsmappenprojekt wird im Visual Basic Editor angezeigt.

4. Legen Sie ein Standardmodul ein.

Wählen Sie im Visual Basic Editor das Arbeitsmappenprojekt aus, klicken Sie auf Einfügen > Modul und verwenden Sie den neuen Codebereich. Ein Standardmodul eignet sich für Makros, die Sie bei Bedarf ausführen.

Visual Basic Editor: Menü „Einfügen“, wobei der Befehl „Modul“ hervorgehoben ist.
Schritt 4: Fügen Sie ein Standardmodul für das Makro ein.

5. Makro zum Erstellen von Entwürfen hinzufügen

Fügen Sie diese Prozedur in das Modul ein. Sie prüft, ob die Arbeitsmappe gespeichert wurde, verifiziert den Anhangspfad, erstellt eine Outlook-Nachricht und zeigt diese an, ohne sie zu senden.

VBA-Modul, das den Beginn einer CreateOutlookDraft-Prozedur enthält.
Schritt 5: Fügen Sie die Prozedur dem neuen Modul hinzu.
Option Explicit

Sub CreateOutlookDraft()
    Dim olApp As Object
    Dim olMail As Object
    Dim attachmentPath As String

    If Len(ThisWorkbook.Path) = 0 Then
        MsgBox "Save the workbook before creating the email.", vbExclamation
        Exit Sub
    End If

    attachmentPath = ThisWorkbook.FullName
    If Len(Dir$(attachmentPath)) = 0 Then
        MsgBox "Workbook attachment not found: " & attachmentPath, vbExclamation
        Exit Sub
    End If

    On Error Resume Next
    Set olApp = GetObject(, "Outlook.Application")
    If olApp Is Nothing Then
        Set olApp = CreateObject("Outlook.Application")
    End If
    On Error GoTo 0

    If olApp Is Nothing Then
        MsgBox "Classic Outlook could not be opened.", vbExclamation
        Exit Sub
    End If

    Set olMail = olApp.CreateItem(0)
    With olMail
        .To = "recipient@example.com"
        .CC = ""
        .Subject = "Monthly report"
        .Body = "Hi," & vbCrLf & vbCrLf & _
                "Please review the attached monthly report." & _
                vbCrLf & vbCrLf & "Thanks,"
        .Attachments.Add attachmentPath
        .Display
    End With

    Set olMail = Nothing
    Set olApp = Nothing
End Sub

Das numerische Argument 0erzeugt ein Standard-E-Mail-Element. Microsoft dokumentiert Application.CreateItem , Attachments.Add und MailItem.Display .

6. Ersetzen Sie die Beispiel-E-Mail-Details.

Ändern Sie dies recipient@example.comauf den gewünschten Empfänger. Fügen Sie .CCbei Bedarf Adressen hinzu .Subjectund bearbeiten Sie anschließend den Text .Body. Setzen Sie die Textwerte in Anführungszeichen und verwenden Sie `<br>`, &um Zeilenumbrüche zu erzeugen vbCrLf. Das Beispiel verwendet eine Klartextnachricht; HTML-Formatierung ist nicht erforderlich.

VBA-Editor mit hervorgehobenen Beispiel-Empfänger- und Betrefffeldern im E-Mail-Makro.
Schritt 6: Ersetzen Sie den Beispielempfänger; bearbeiten Sie Betreff und Nachrichtenzeile auf die gleiche Weise.

7. Wählen Sie den Anhang aus.

Die Methode hängt ThisWorkbook.FullNamedie gespeicherte, makrofähige Arbeitsmappe wie beschrieben an. Um stattdessen einen separaten Bericht anzuhängen, ersetzen Sie die Zuweisung durch den vollständigen Dateipfad, z. B. `/proc ..."C:\Reports\MonthlyReport.xlsx"Attachments.Add

VBA-Code, der den Pfad eines Berichts-Anhangs prüft, bevor eine Outlook-Nachricht erstellt wird.
Schritt 7: Prüfen Sie, ob der Pfad zur Dateianhang auf eine vorhandene Datei verweist.

8. Makro speichern

Drücken Sie im Editor Strg+S oder wechseln Sie zurück zu Excel und speichern Sie die Arbeitsmappe. Behalten Sie das .xlsm-Format bei; beim Speichern als .xlsx wird das VBA-Projekt entfernt. Speichern Sie die Datei an einem vertrauenswürdigen Ort und aktivieren Sie keine Makros in Arbeitsmappen unbekannter Herkunft.

Excel- und VBA-Editorfenster mit Anzeige der gespeicherten .xlsm-Arbeitsmappe und des Speichern-Steuerelements.
Schritt 8: Speichern Sie die Arbeitsmappe unter Beibehaltung der Dateiendung .xlsm.

9. Führen Sie die Prozedur aus.

Klicken Sie in die Datei CreateOutlookDraftund drücken Sie F5 oder verwenden Sie den Befehl „Ausführen“ im Editor. Falls Excel das Makro blockiert, befolgen Sie die Richtlinien Ihrer Organisation. Microsoft weist darauf hin, dass Office Makros in Dateien, die als aus dem Internet stammend gekennzeichnet sind, standardmäßig blockiert. Lesen Sie daher die Sicherheitshinweise für Makros, anstatt den Schutz global zu deaktivieren.

Das Ausführen-Menü des Visual Basic-Editors zeigt den F5-Befehl für das ausgewählte Makro an.
Schritt 9: Führen Sie das Makro im Visual Basic Editor aus.

10. Überprüfen Sie den Entwurf und senden Sie ihn selbst ab.

Outlook sollte eine Nachricht mit ausgefüllter Adresse, Betreffzeile, Nachrichtentext und Arbeitsmappen-Anhang öffnen. Überprüfen Sie jeden Empfänger und öffnen Sie gegebenenfalls den Anhang. Klicken Sie erst nach der Entwurfsprüfung auf „ Senden.Display “. Der Code verwendet absichtlich `<code><p></code>` anstelle von `<code> <p></code>`, .Sendum zu verhindern, dass Tippfehler oder veraltete Dateien automatisch per E-Mail versendet werden.

Klassischer Outlook-Entwurf mit Empfänger, Betreff und Arbeitsmappen-Anhang, bereit zur Überprüfung.
Schritt 10: Überprüfen Sie den Outlook-Entwurf und die beigefügte Arbeitsmappe.
Outlook-Fenster zum Verfassen eines Entwurfs, in dem die Schaltfläche „Senden“ sichtbar ist und der Entwurf noch geöffnet ist.
Senden Sie die Nachricht erst nach Bestätigung der Nachrichtendetails.

11. Häufige Probleme beheben

  • Die Fehlermeldung „ActiveX-Komponente kann kein Objekt erstellen“ oder „Outlook ist nicht verfügbar“ lautet: Stellen Sie sicher, dass das klassische Outlook für Windows installiert und konfiguriert ist. Die neue Outlook-Version und das Browser-Outlook bieten nicht das erforderliche Outlook-Objektmodell.
  • Das Makro wird nicht ausgeführt: Stellen Sie sicher, dass die Arbeitsmappe im .xlsm-Format vorliegt und beachten Sie die Sicherheitswarnung von Excel. Aktivieren Sie nicht alle Makros, um eine Warnung zu umgehen; vertrauen Sie nur Dateien und Herausgebern, die Sie kennen.
  • Die Anlage fehlt: Speichern Sie die Arbeitsmappe zuerst oder korrigieren Sie den vollständigen Pfad zum separaten Bericht. Prüfen Sie, ob sich die Datei auf einem nicht verfügbaren Laufwerk befindet.

Dieser Workflow ist für Nachrichten gedacht, die Sie in Outlook prüfen und versenden. Für wiederkehrende oder unbeaufsichtigte geschäftliche E-Mails verwenden Sie einen von Ihrem Unternehmen genehmigten Automatisierungsdienst und überprüfen Sie Empfänger, Anhänge und Berechtigungen separat.

Excel-Sicherheitswarnung mit dem Hinweis, dass Makros für eine Datei deaktiviert wurden.
Falls Office ein Makro blockiert, befolgen Sie die Sicherheitshinweise von Microsoft und die Richtlinien Ihrer Organisation.

Einen Kommentar hinterlassen

So markieren Sie ein Kästchen in Word: 2 Möglichkeiten zum Erstellen einer Checkliste

So markieren Sie ein Kästchen in Word: 2 Möglichkeiten zum Erstellen einer Checkliste

Erfahren Sie, wie Sie in Word unter Windows, Mac und im Web druckbare leere Aufzählungszeichen oder interaktive Kontrollkästchen hinzufügen und wie Sie das Standard-X durch ein Häkchen ersetzen.

So öffnen Sie den VBA-Editor in Excel (Windows und Mac)

So öffnen Sie den VBA-Editor in Excel (Windows und Mac)

Öffnen Sie den VBA-Editor von Excel mit Alt+F11 oder über Entwicklertools > Visual Basic. Lernen Sie, wie Sie die Entwicklertools öffnen, Excel für Mac verwenden und Makros in einem Format speichern, das den VBA-Code beibehält.

So formatieren Sie Absätze in Word: 4 zuverlässige Methoden

So formatieren Sie Absätze in Word: 4 zuverlässige Methoden

Erfahren Sie, wie Sie in Word mit der Tabulatortaste, dem Lineal, den Absatzeinstellungen und den Web-Layout-Steuerelementen Einzüge für die erste Zeile, hängende Einzüge, linke und rechte Einzüge hinzufügen.

So fließen Text und Bilder in Word um: 3 einfache Methoden

So fließen Text und Bilder in Word um: 3 einfache Methoden

Um den Text in Word über die Layoutoptionen, das Bildformat oder das Kontextmenü (Rechtsklick) umzubrechen, wählen Sie ein Bildlayout aus und legen Sie fest, wie sich der Text mitbewegt.

So drucken Sie einen Briefumschlag: 2 einfache Methoden in Word und Google Docs

So drucken Sie einen Briefumschlag: 2 einfache Methoden in Word und Google Docs

Drucken Sie einen einzelnen Umschlag in Word oder verwenden Sie ein Serienbrief-Add-on für Google Docs. Achten Sie auf das richtige Papierformat, legen Sie den Umschlag korrekt ein und überprüfen Sie die Ausrichtung, bevor Sie mehrere Umschläge drucken.

5 beste Wege, um das Outlook-Problem „Verbindungsaufbau“ zu beheben

5 beste Wege, um das Outlook-Problem „Verbindungsaufbau“ zu beheben

Nutzen Sie fünf praktische Outlook-Verbindungsprüfungen, um herauszufinden, ob Exchange, Ihr Netzwerk, Add-Ins oder ein Outlook-Profil die Fehlermeldung „Verbindungsversuch“ verursacht.

So senden Sie E-Mails mit VBA in Excel: 11 Schritte für Outlook

So senden Sie E-Mails mit VBA in Excel: 11 Schritte für Outlook

Erstellen Sie ein Excel-VBA-Makro, das eine Outlook-E-Mail ausfüllt, Ihre Arbeitsmappe anhängt und einen Entwurf zur Überprüfung öffnet, bevor Sie sie senden.

So fügen Sie ein Arbeitsblatt aus einer anderen Arbeitsmappe in Excel ein

So fügen Sie ein Arbeitsblatt aus einer anderen Arbeitsmappe in Excel ein

Kopieren oder verschieben Sie ein Excel-Arbeitsblatt in eine andere Arbeitsmappe, wählen Sie dessen Position und überprüfen Sie nach der Übertragung Formeln, Diagramme und Formatierungen.

So drehen Sie Text in Excel mit voreingestellten oder benutzerdefinierten Winkeln

So drehen Sie Text in Excel mit voreingestellten oder benutzerdefinierten Winkeln

Über das Menü „Ausrichtung“ in Excel können Sie Zelltext nach oben, unten oder diagonal drehen, einen exakten Winkel festlegen und Überschriften lesbar halten. Dies gilt sowohl für Desktop- als auch für Web-Notizen.

So fügen Sie ein Tabellenblatt in Excel hinzu: 4 schnelle Methoden, inklusive einer Tastenkombination

So fügen Sie ein Tabellenblatt in Excel hinzu: 4 schnelle Methoden, inklusive einer Tastenkombination

Erfahren Sie, wie Sie in Excel mit Shift+F11, dem Menüband Start, der Plus-Schaltfläche oder einem kurzen VBA-Befehl ein Tabellenblatt hinzufügen, wenn Sie mehrere Tabellenblätter benötigen.