Inhaltsverzeichnis
In diesem Artikel zeigen wir Ihnen 5 Makro zu E-Mail senden von Excel Um unsere Methoden zu demonstrieren, haben wir einen Datensatz mit 3 Spalten : " Name ", " E-Mail " und " Stadt ".
Download Arbeitsbuch Praxis
Makro zum Senden einer E-Mail verwenden.xlsm5 Wege, Makros zum Senden von E-Mails aus Excel zu verwenden
1. die Verwendung der Outlook-Objektbibliothek zum Senden von E-Mails
Für die erste Makro werden wir die Funktion " Microsoft Outlook 16.0 Objektbibliothek " zu senden. eine E-Mail von Excel Außerdem müssen wir uns bei unserem Ausblick einkalkulieren Excel .
Schritte:
Zu Beginn werden wir die Visual Basic Fenster.
- Erstens, von der Entwickler tab>>> auswählen Visual Basic .
Alternativ können Sie auch die Taste ALT + F11 zur Anzeige der VBA Fenster.
- Zweitens, von Werkzeuge >>> wählen Sie " Referenzen... ".
Eine neue Dialogfeld erscheinen wird.
- Drittens: Wählen Sie " Microsoft Outlook 16.0 Objektbibliothek ", und drücken Sie OK .
Daher werden wir Folgendes ermöglichen Outlook-Objektbibliothek .
- Die von einfügen. >>> auswählen Modul .
Wir geben unseren Code hier ein.
- Geben Sie anschließend den folgenden Code ein.
Sub Macro_Send_Email() Dim eApp As Outlook.Application Dim eSource As String Set eApp = New Outlook.Application Dim eItem As Outlook.MailItem Set eItem = eApp.CreateItem(olMailItem) eItem.To = Range("C5").Value 'Diese Elemente sind optional 'eItem.CC = "[email protected]" 'etem.BCC = "[email protected]" eItem.Subject = "Sending Email using VBA from Excel" eItem.Body = "Hello," & vbNewLine &"Ich hoffe, diese E-Mail findet Sie gut." & _ vbNewLine & vbNewLine & _ "Mit freundlichen Grüßen," & vbNewLine & "Exceldemy" 'Wenn Sie diese Arbeitsmappe anhängen möchten, dann entfernen Sie diese beiden Zeilen von unten 'Source = ThisWorkbook.FullName 'eItem.Attachments.Add Source eItem.Display 'kann .Send verwenden End Sub
VBA-Code-Aufschlüsselung
- Erstens: Wir rufen unsere Unterverfahren Makro_Senden_E-Mail .
- Zweitens: Wir erklären die variabel Typen.
- Drittens: Wir wählen Ausblick als unser Mail-Anwendung .
- Dann wählen wir unsere E-Mail Absenderadresse von Zelle C5 .
- Danach wird die E-Mail Inhalt in unserem Code festgelegt ist.
- Schließlich: " VBA Display-Eigenschaft " wird hier verwendet, um unsere E-Mail Deshalb müssen wir die Taste Senden Sie manuell zu senden. die Emails Außerdem können wir " Eigenschaft senden " zu E-Mails versenden ohne Anzeige.
- Und dann, Speichern Sie und schließen Sie die Modul .
Nun, wir werden ausführen. den Code.
- Erstens, von der Entwickler tab>>> auswählen Makros .
Die Dialogfeld "Makro erscheinen wird.
- Zweitens: Wählen Sie unser Unterverfahren " Makro_Senden_E-Mail ".
- Drücken Sie schließlich ausführen. .
Nach dem Ausführen des Codes sehen wir die E-Mail Wir können auf das Fenster Senden Sie Wir haben Ihnen also die erste Methode gezeigt, wie Sie Senden eine E-Mail von excel mit VBA .
Lesen Sie mehr: E-Mails aus Excel VBA ohne Outlook versenden (4 geeignete Beispiele)
2. makro für das Senden von E-Mail von Gmail-Konto in Excel
Für diese Methode benötigen wir weniger sicherer App-Zugang von der Google Mail Außerdem müssen wir die Option Microsoft CDO von der Referenzen Menü.
Schritte:
- Erstens, wie in der ersten Methode gezeigt bringen Sie die Dialogfeld "Referenzen .
- Zweitens: Wählen Sie " Microsoft CDO für Windows 2000-Bibliothek " und drücken Sie OK .
- Drittens: Gehen Sie zu Sicherheit von Ihrem Google-Konto-Einstellungen .
- Schalten Sie schließlich Weniger sicherer App-Zugang .
Jetzt geben wir unsere Makro Code.
- Erstens, wie in Methode 1 dargestellt bringen Sie die Modul Fenster und geben Sie diesen Code ein.
Option Explicit Sub Send_Gmail_Macro() Dim cMail As Object Dim cConfig As Object Dim sConfig As Variant Dim cSubject As String Dim cFrom As String Dim cTo As String Dim cCC As String Dim cBcc As String Dim cBody As String cSubject = "Macro to Send Gmail" cFrom = "[email protected]" cTo = "[email protected]" cBody = "Hello. This is an automated message. Please don't reply" Set cMail =CreateObject("CDO.Message") On Error GoTo Error_Handling Set cConfig = CreateObject("CDO.Configuration") cConfig.Load -1 Set sConfig = cConfig.Fields With sConfig .Item("//schemas.microsoft.com/cdo/configuration/sendusing") = 2 .Item("//schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com" .Item("//schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1.Item("//schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]" .Item("//schemas.microsoft.com/cdo/configuration/sendpassword") = "SenderGmailPassword" .Item("//schemas.microsoft.com/cdo/configuration/smtpserverport") = 465 .Item("//schemas.microsoft.com/cdo/configuration/smtpusessl") = True .Update End With With cMail Set .Configuration = cConfig End With cMail.Subject =cSubject cMail.From = cFrom cMail.To = cTo cMail.TextBody = cBody cMail.CC = cCC cMail.BCC = cBcc cMail.Send Error_Handling: If Err.Description "" Then MsgBox Err.Description End Sub
VBA-Code-Aufschlüsselung
- Erstens: Wir rufen unsere Unterverfahren Senden_Gmail_Makro .
- Zweitens: Wir erklären die variabel Typen.
- Drittens: Wir setzen die E-Mail Inhalt in unserem Code.
- Dann stellen wir unsere Anmeldeinformationen Sie müssen Ihren eigenen Text eingeben. ID und Passwort hier.
- Danach haben wir uns auf den Weg gemacht Hafen zu 465 .
- Endlich, wir sind Senden unser E-Mail .
- Dann, Speichern Sie und ausführen. diesen Code.
Wir haben erfolgreich gesendet eine E-Mail an unsere Adresse.
Lesen Sie mehr: Makro zum Versenden von E-Mails aus Excel mit Textkörper (3 nützliche Fälle)
3. eine E-Mail von einer Spalte aus an eine Liste von Empfängern senden
Für die dritte Methode werden wir Folgendes tun E-Mails versenden zu 7 Menschen, die Makro von Excel Wir finden den letzten Zeile unseres Datensatzes, daher funktioniert unser Code auch bei einer längeren Liste. Wir werden E-Mails versenden von der Zelle C5:C10 Bereich.
Schritte:
- Erstens, wie in Methode 1 dargestellt bringen Sie die Modul Fenster und geben Sie diesen Code ein.
Sub Macro_Send_Email_From_A_List() Dim pApp As Object Dim pMail As Object Dim z As Integer Dim eList As String Dim eRow As Long Set pApp = CreateObject("Outlook.Application") Set pMail = pApp.CreateItem(0) eRow = Range("C:C").SpecialCells(xlCellTypeLastCell).Row - 1 With pMail eList = "" For z = 5 To eRow If eList = "" Then eList = Cells(z, 3).Value Else eList = eList & ";" & Cells(z,3).Value End If Next z .BCC = eList .Subject = "Hello There" .Body = "This Message is brought to you by Exceldemy." .Display 'Sie können hier .Send verwenden End With Set pMail = Nothing Set pApp = Nothing End Sub
VBA-Code-Aufschlüsselung
- Erstens: Wir rufen unsere Unterverfahren Makro_Email_aus_einer_Liste_schicken .
- Zweitens: Wir erklären die variabel Typen.
- Drittens: Wir wählen Ausblick als unser Mail-Anwendung .
- Dann finden wir die letzte Zeile das ist 10 für unseren Datensatz.
- Danach, als unser E-Mail startet von Reihe 5 wir haben eingegeben 5 als Startwert für " Variable z "Außerdem ist unser Emails sind auf der Spalte C daher haben wir eingegeben 3 innerhalb der Zellen Eigentum.
- Dann setzen wir die E-Mail Inhalt in unserem Code.
- Schließlich: " .anzeigen " wird hier verwendet, um unsere E-Mail Deshalb müssen wir die Taste Senden Sie manuell zu senden. die Emails Außerdem können wir " .senden " zu E-Mail senden ohne Anzeige.
- Dann, Speichern Sie und ausführen. die Modul .
Wir können sehen, dass alle unsere Emails werden angezeigt in BCC Zum Schluss können wir einfach auf Senden Sie um unsere Aufgabe zu erfüllen.
Lesen Sie mehr: Wie man E-Mails aus einer Excel-Liste versendet (2 wirksame Methoden)
Ähnliche Lektüre
- Automatisches Versenden von E-Mails bei erfüllter Bedingung in Excel
- Wie man Excel-Dateien online freigibt (2 einfache Methoden)
- Automatisches Versenden einer Erinnerungs-E-Mail aus einem Excel-Arbeitsblatt mit VBA
- Wie man in Excel eine E-Mail sendet, wenn Bedingungen erfüllt sind (3 einfache Methoden)
- Freigabe der Arbeitsmappe in Excel aktivieren
4 Makro zum Versenden einzelner Blätter per E-Mail
In diesem Abschnitt werden wir senden. die Aktives Arbeitsblatt Hier müssen wir den Ort auswählen, an dem sich unsere Zielperson befindet. Excel Datei.
Schritte:
- Erstens, wie in Methode 1 dargestellt bringen Sie die Modul Fenster und geben Sie diesen Code ein.
Sub Macro_Email_Single_Sheet() Dim pApp As Object Dim pMail As Object Dim zBook As Workbook Dim fxName As String 'Dim zSheet As Worksheet 'Dim shtName As String Application.ScreenUpdating = False ActiveSheet.Copy Set zBook = ActiveWorkbook fxName = zBook.Worksheets(1).Name On Error Resume Next Kill "C:\Users\Rafi\OneDrive\Desktop\Softeko\47\" & fxName On Error GoTo 0 zBook.SaveAsFileName:="C:\Users\Rafi\OneDrive\Desktop\Softeko\47\" & fxName Set pApp = CreateObject("Outlook.Application") Set pMail = pApp.CreateItem(0) With pMail .To = "[email protected]" .Subject = "Macro to Send Single Sheet via Email" .Body = "Dear RecieverName," & vbCrLf & vbCrLf & _ "Your requested file is attached" .Attachments.Add zBook.FullName .Display End WithzBook.ChangeFileAccess Mode:=xlReadOnly Kill zBook.FullName zBook.Close SaveChanges:=False Application.ScreenUpdating = True Set pMail = Nothing Set pApp = Nothing End Sub
VBA-Code-Aufschlüsselung
- Erstens: Wir rufen unsere Unterverfahren Makro_Email_Einzelblatt .
- Zweitens: Wir erklären die variabel Typen.
- Drittens: Wir kopieren die Aktives Blatt und speichern sie als separate Arbeitsbuch .
- Danach wählen wir Ausblick als unser Mail-Anwendung .
- Dann setzen wir die E-Mail Inhalt in unserem Code.
- Danach haben wir die Blatt zum E-Mail .
- Verwenden Sie schließlich " .anzeigen " zur Anzeige unserer E-Mail Deshalb müssen wir die Taste Senden Sie manuell zu senden. die Emails Außerdem können wir " .senden " zu E-Mail senden ohne Anzeige.
- Dann, Speichern Sie und ausführen. die Modul .
Wir werden sehen, wie die Blatt Name im Fenster und drücken Sie Senden Sie um die Aufgabe zu erledigen.
Wir können öffnen die Datei und überprüfen Sie, ob unser Code funktioniert.
Lesen Sie mehr: Wie man eine bearbeitbare Excel-Tabelle per E-Mail versendet (3 schnelle Methoden)
5 Makro zum Senden von E-Mails auf der Grundlage von Zellenwerten
Für die letzte Methode haben wir unseren Datensatz ein wenig verändert. Wir haben die " Zahlung . " Spalte in den Datensatz einfügen: Hier werden wir senden. eine E-Mail die die Stadt " Obama "Wir können deutlich sehen, dass Reihe 5 enthält es, daher werden wir senden. eine E-Mail nur für diese Person.
Schritte:
- Erstens, wie in Methode 1 dargestellt bringen Sie die Modul Fenster und geben Sie diesen Code ein.
Option Explicit Sub Send_Email_Condition() Dim xSheet As Worksheet Dim mAddress As String, mSubject As String, eName As String Dim eRow As Long, x As Long Set xSheet = ThisWorkbook.Sheets("Conditions") With xSheet eRow = .Cells(.Rows.Count, 5).End(xlUp).Row For x = 5 To eRow If .Cells(x, 4)>= 1 And .Cells(x, 5) = "Obama" Then mAddress = .Cells(x, 3) mSubject = "Request For Payment" eName =.Cells(x, 2) Call Send_Email_With_Multiple_Condition(mAddress, mSubject, eName) End If Next x End With End Sub Sub Send_Email_With_Multiple_Condition(mAddress As String, mSubject As String, eName As String) Dim pApp As Object Dim pMail As Object Set pApp = CreateObject("Outlook.Application") Set pMail = pApp.CreateItem(0) With pMail .To = mAddress .CC = "" .BCC = "" .Subject = mSubject .Body ="Herr/Frau " & eName & ", Bitte zahlen Sie den fälligen Betrag innerhalb der nächsten Woche." _ & vbNewLine & "Der genaue Betrag ist dieser E-Mail beigefügt." .Attachments.Add ActiveWorkbook.FullName 'Die Datei per E-Mail versenden .Display 'Wir können hier auch .Send verwenden End With Set pMail = Nothing Set pApp = Nothing End Sub
VBA-Code-Aufschlüsselung
- Erstens: Wir rufen unsere erste Unterverfahren Send_Email_Condition .
- Zweitens: Wir erklären die Variabel Typen und Einstellungen " Bedingungen " als unser Blatt .
- Drittens: Die letzte Zeile Außerdem beginnt unser Wert bei Reihe 5 Daher haben wir Reihe 5 bis zum letzten Zeile in unserem Code.
- Rufen Sie dann unser zweites Unterverfahren E-Mail_Senden_Mit_Mehreren_Bedingungen .
- Danach wählen wir Ausblick als unser Mail-Anwendung .
- Dann wird die E-Mail Inhalt in unserem Code festgelegt ist.
- Hier fügen wir die Excel Datei mit der E-Mail unter Verwendung der Anlage Methode.
- Danach, " .anzeigen " wird hier verwendet, um unsere E-Mail Deshalb müssen wir die Taste Senden Sie manuell zu senden. die Emails Außerdem können wir " .senden " zu E-Mail senden ohne Anzeige.
- Dann, Speichern Sie und ausführen. die Modul .
Abschließend haben wir Ihnen noch eine weitere Methode gezeigt, um Senden eine E-Mail mit VBA-Makro von Excel .
Lesen Sie mehr: Automatisches Senden von E-Mails aus Excel auf der Grundlage von Zellinhalten (2 Methoden)
Praxisteil
Wir haben Übungsdatensätze für jede Methode in die Excel Datei.
Schlussfolgerung
Wir haben Ihnen gezeigt 5 zu verwendende Methoden Makro zu senden. eine E-Mail von Excel Vielen Dank fürs Lesen und weiterhin viel Erfolg!