Mithilfe unserer Codevorlage können Sie mithilfe von CDO- und VBA-Skripten (Collaboration Data Objects) automatisierte E-Mails in Excel einrichten.

So senden Sie E-Mails aus einer Excel-Tabelle mit VBA-Skripten

Werbung So senden Sie E-Mails 5 Möglichkeiten, um professionelle E-Mails zu schreiben, die Zeit und Mühe sparen 5 Möglichkeiten, um professionelle E-Mails zu schreiben, die Zeit und Mühe sparen Es ist eine Fähigkeit zu wissen, wie man professionelle E-Mails schreibt, die Zeit sparen und Antworten erhalten. Las

Werbung

So senden Sie E-Mails 5 Möglichkeiten, um professionelle E-Mails zu schreiben, die Zeit und Mühe sparen 5 Möglichkeiten, um professionelle E-Mails zu schreiben, die Zeit und Mühe sparen Es ist eine Fähigkeit zu wissen, wie man professionelle E-Mails schreibt, die Zeit sparen und Antworten erhalten. Lassen Sie sich von diesen E-Mail-Vorlagen helfen. Lesen Sie mehr aus Microsoft Excel, wenn Sie nur ein paar einfache Skripte benötigen. Wenn Sie diese Funktionalität zu Ihren Tabellen hinzufügen, können Sie wirklich verbessern, wie viel Sie in Excel erreichen können.

Schalte jetzt den Spickzettel "Essential Excel Formulas" frei!

Hiermit melden Sie sich für unseren Newsletter an

Geben Sie Ihre E-Mail-Adresse ein

Wir haben viele großartige Excel-Makros behandelt, die die gleichen Funktionen wie VBA-Skripte haben, jedoch ohne Programmierkenntnisse. Es gibt jedoch viele erweiterte Funktionen, die Sie nur mit VBA ausführen können, z. B. das Erstellen eines Tabellenberichts mit all Ihren PC-Informationen.

Möchten Sie dieses Tutorial lieber als Video ansehen? Wir geben dir Deckung!

Warum E-Mails aus Excel senden?

Es gibt viele Gründe, warum Sie eine E-Mail aus Microsoft Excel heraus senden möchten.

Möglicherweise haben Sie Mitarbeiter, die Dokumente oder Tabellen wöchentlich aktualisieren, und Sie möchten eine E-Mail-Benachrichtigung erhalten, wenn diese Aktualisierungen abgeschlossen sind. Oder Sie haben eine Tabelle mit Kontakten und möchten eine E-Mail an alle gleichzeitig senden.

Sie denken wahrscheinlich, dass das Schreiben eines Skripts für eine E-Mail-Übertragung aus Excel kompliziert sein wird. Das ist überhaupt nicht der Fall.

Die Technik in diesem Artikel verwendet eine Funktion, die in Excel VBA seit langem verfügbar ist, Collaboration Data Objects (CDO).

Collaboration Data Objects (CDO) in Excel

CDO ist eine Nachrichtenkomponente, die in Windows seit sehr frühen Generationen des Betriebssystems verwendet wird. Früher hieß es CDONTS und wurde dann mit dem Aufkommen von Windows 2000 und XP durch "CDO für Windows 2000" ersetzt. Diese Komponente ist bereits in Ihrer VBA-Installation in Microsoft Word oder Excel enthalten und kann verwendet werden.

Die Verwendung der Komponente macht das Versenden von E-Mails aus Windows-Produkten mit VBA extrem einfach. In diesem Beispiel verwenden Sie die CDO-Komponente in Excel, um eine E-Mail zu senden, die die Ergebnisse einer bestimmten Excel-Zelle liefert.

Schritt 1: Erstellen Sie ein VBA-Makro

Der erste Schritt besteht darin, zur Registerkarte Excel Developer zu wechseln.

Klicken Sie auf der Registerkarte Entwickler im Feld Steuerelemente auf Einfügen und wählen Sie eine Befehlsschaltfläche aus.

Schaltfläche in Excel hinzufügen

Zeichnen Sie es in das Blatt und erstellen Sie ein neues Makro dafür, indem Sie im Entwickler-Menüband auf Makros klicken.

Makro für Befehlsschaltfläche hinzufügen

Wenn Sie auf die Schaltfläche Erstellen klicken, wird der VBA-Editor geöffnet.

Fügen Sie den Verweis zur CDO-Bibliothek hinzu, indem Sie im Editor zu Extras > Verweise navigieren.

Hinzufügen von Referenzen in Excel

Scrollen Sie durch die Liste, bis Sie Microsoft CDO für Windows 2000 Library finden . Aktivieren Sie das Kontrollkästchen und klicken Sie auf OK .

Hinzufügen von CDO für Windows-Referenz

Wenn Sie auf OK klicken, notieren Sie sich den Namen der Funktion, in die Sie das Skript einfügen. Du wirst es später brauchen.

Schritt 2: Richten Sie die CDO-Felder "Von" und "Bis" ein

Dazu müssen Sie zuerst die E-Mail-Objekte erstellen und alle Felder einrichten, die zum Senden der E-Mail erforderlich sind.

Beachten Sie, dass viele der Felder optional sind, die Felder Von und Bis jedoch erforderlich sind.

 Dim CDO_Mail As Object Dim CDO_Config As Object Dim SMTP_Config As Variant Dim strSubject As String Dim strFrom As String Dim strTo As String Dim strCc As String Dim strBcc As String Dim strBody As String strSubject = "Results from Excel Spreadsheet" strFrom = " " strTo = " " strCc = "" strBcc = "" strBody = "The total results for this quarter are: " & Str(Sheet1.Cells(2, 1)) 

Das Coole daran ist, dass Sie jede Zeichenfolge erstellen können, die Sie für eine vollständige E-Mail-Nachricht anpassen möchten, und sie der Variablen strBody zuweisen können.

Fügen Sie Komponenten der Nachricht zusammen, indem Sie die Zeichenfolge & verwenden, um Daten aus einer beliebigen Microsoft Excel-Tabelle direkt in die E-Mail-Nachricht einzufügen, wie oben gezeigt.

Schritt 3: Konfigurieren Sie CDO für die Verwendung eines externen SMTP

Im nächsten Codeabschnitt konfigurieren Sie CDO so, dass ein externer SMTP-Server zum Senden der E-Mail verwendet wird.

In diesem Beispiel handelt es sich um eine Nicht-SSL-Einrichtung über Google Mail. CDO ist SSL-fähig, dies liegt jedoch außerhalb des Geltungsbereichs dieses Artikels. Wenn Sie SSL verwenden müssen, kann dieser erweiterte Code in Github hilfreich sein.

 Set CDO_Mail = CreateObject("CDO.Message") On Error GoTo Error_Handling Set CDO_Config = CreateObject("CDO.Configuration") CDO_Config.Load -1 Set SMTP_Config = CDO_Config.Fields With SMTP_Config .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com" .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = " " .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password" .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True .Update End With With CDO_Mail Set .Configuration = CDO_Config End With 

Schritt 4: Beenden Sie das CDO-Setup

Nachdem Sie die Verbindung zum SMTP-Server zum Senden der E-Mail konfiguriert haben, müssen Sie nur noch die entsprechenden Felder für das CDO_Mail-Objekt ausfüllen und den Befehl Senden ausgeben.

So machen Sie das:

 CDO_Mail.Subject = strSubject CDO_Mail.From = strFrom CDO_Mail.To = strTo CDO_Mail.TextBody = strBody CDO_Mail.CC = strCc CDO_Mail.BCC = strBcc CDO_Mail.Send Error_Handling: If Err.Description "" Then MsgBox Err.Description 

Es werden keine Popup-Felder oder Sicherheitswarnungen angezeigt, die auftreten können, wenn Sie das Outlook-E-Mail-Objekt verwenden.

CDO stellt einfach die E-Mail zusammen und verwendet die Verbindungsdetails Ihres SMTP-Servers, um die Nachricht auszulösen. Dies ist der einfachste Weg, um E-Mails in Microsoft Word- oder Excel VBA-Skripts einzubinden.

Um die Befehlsschaltfläche mit diesem Skript zu verbinden, öffnen Sie den Code-Editor und klicken Sie auf Sheet1, um den VBA-Code für dieses Arbeitsblatt anzuzeigen .

Geben Sie den Namen der Funktion ein, in die Sie das obige Skript eingefügt haben.

Verbinden Sie die Befehlsschaltfläche mit dem Skript

So sah die Nachricht aus, die ich in meinem Posteingang erhalten habe:

Excel-E-Mail erhalten

Hinweis : Wenn die Fehlermeldung " Der Transport konnte keine Verbindung zum Server herstellen" angezeigt wird, vergewissern Sie sich, dass Sie den richtigen Benutzernamen, das richtige Kennwort, den richtigen SMTP-Server und die richtige Portnummer in die unter " Mit SMTP_Config" aufgeführten Codezeilen eingegeben haben .

Weiterentwickeln und den gesamten Prozess automatisieren

Es ist schön und gut, auf Knopfdruck E-Mails aus Excel senden zu können. Möglicherweise möchten Sie diese Funktion jedoch regelmäßig verwenden. In diesem Fall ist es sinnvoll, den Vorgang zu automatisieren. 5 Ressourcen für Excel-Makros zur Automatisierung Ihrer Tabellen 5 Ressourcen für Excel-Makros zur Automatisierung Ihrer Tabellen Nach Excel-Makros suchen? Hier sind fünf Websites, die genau das bieten, wonach Sie suchen. Weiterlesen .

Dazu müssen Sie das Makro ändern. Gehen Sie zum Visual Basic-Editor und kopieren Sie den gesamten Code, den wir zusammengestellt haben, und fügen Sie ihn ein.

Wählen Sie als Nächstes ThisWorkbook aus der Projekthierarchie aus .

Wählen Sie in den beiden Dropdown-Feldern oben im Codefenster die Option Arbeitsmappe und in der Dropdown-Liste Methoden die Option Öffnen aus.

Fügen Sie das obige E-Mail-Skript in Private Sub Workbook_Open () ein .

Das Makro wird ausgeführt, wenn Sie die Excel-Datei öffnen.

Fügen Sie das E-Mail-Skript ein

Öffnen Sie als Nächstes den Taskplaner .

Sie werden dieses Tool verwenden, um Windows aufzufordern, die Tabelle in regelmäßigen Abständen automatisch zu öffnen. Anschließend wird Ihr Makro gestartet und die E-Mail gesendet.

Erstellen Sie eine Basisaufgabe im Aufgabenplaner

Wählen Sie im Menü Aktion die Option Grundlegende Aufgabe erstellen und arbeiten Sie sich durch den Assistenten, bis Sie zum Bildschirm Aktion gelangen .

Wählen Sie Programm starten und klicken Sie auf Weiter .

Programm Task Scheduler auswählen

Verwenden Sie die Schaltfläche Durchsuchen, um den Speicherort von Microsoft Excel auf Ihrem Computer zu suchen, oder kopieren Sie den Pfad und fügen Sie ihn in das Feld Programm / Skript ein.

Geben Sie dann den Pfad zu Ihrem Microsoft Excel-Dokument in das Feld Argumente hinzufügen ein.

Schließen Sie den Assistenten ab, und Ihre Planung ist abgeschlossen.

Es lohnt sich, einen Test zu planen, indem Sie die Aktion So leeren Sie den Papierkorb nach einem Zeitplan automatisch und geben verschwendeten Speicherplatz frei So leeren Sie den Papierkorb nach einem Zeitplan automatisch und geben verschwendeten Speicherplatz frei Wenn Sie den Papierkorb nicht regelmäßig leeren Bin, es könnte Gigabyte Speicherplatz auf Ihrem Datenlaufwerk verschwenden. Aber jetzt kann Windows 10 es automatisch nach einem Zeitplan leeren. Lesen Sie in Zukunft einige Minuten lang mehr und ändern Sie dann die Aufgabe, sobald Sie bestätigen können, dass sie funktioniert.

Hinweis : Möglicherweise müssen Sie Ihre Trust Center-Einstellungen anpassen, um sicherzustellen, dass das Makro ordnungsgemäß ausgeführt wird.

Öffnen Sie dazu die Tabelle und navigieren Sie zu Datei > Optionen > Vertrauensstellungscenter .

Klicken Sie hier auf Einstellungen für das Vertrauensstellungscenter, und stellen Sie im nächsten Bildschirm das Optionsfeld auf Niemals Informationen zu gesperrten Inhalten anzeigen .

Machen Sie Microsoft Excel für Sie arbeiten

Microsoft Excel ist ein unglaublich leistungsfähiges Tool, aber es kann ein wenig einschüchternd sein, zu lernen, wie man das Beste daraus macht. Wenn Sie die Software wirklich beherrschen möchten, müssen Sie mit VBA vertraut sein, und das ist keine leichte Aufgabe.

Die Ergebnisse sprechen jedoch für sich. Mit ein wenig VBA-Erfahrung werden Sie in Kürze Microsoft Excel in die Lage versetzen, grundlegende Aufgaben automatisch auszuführen, sodass Sie mehr Zeit haben, sich auf dringendere Angelegenheiten zu konzentrieren.

Es braucht Zeit, um Fachwissen mit VBA aufzubauen, aber Sie werden bald die Früchte Ihrer Arbeit sehen, wenn Sie sich daran halten können.

Ein guter Einstieg ist unser maßgebliches Tutorial zur Verwendung von VBA in Excel. Ein Einsteigertutorial zum Schreiben von VBA-Makros in Excel (und warum Sie lernen sollten) Ein Einsteigertutorial zum Schreiben von VBA-Makros in Excel (und warum Sie lernen sollten) Wenn Sie Excel verwenden In regelmäßigen Abständen sollten Sie lernen, wie Sie VBA-Makros erstellen und auf viele weitere Funktionen und Fähigkeiten zugreifen können. Weiterlesen . Sobald Sie damit fertig sind, wird dieses einfache Skript zum Senden von E-Mails aus Excel zum Kinderspiel.

Erfahren Sie mehr über: E-Mail-Tipps, Microsoft Excel, Microsoft Office-Tipps, Programmierung, Visual Basic-Programmierung.