Automatisierter Mailversand aus Excel mit der neuen Outlook Version
Microsoft hat eine neue Outlook Version veröffentlicht, in der VBA nicht mehr direkt integriert ist. Heute zeige ich dir, wie du mithilfe der CDO Methode trotzdem Outlook Mails aus Excel heraus über VBA versenden kannst.
Um VBA zu lernen und besser zu verstehen, empfehle ich dir mein kostenloses Grundlagentraining, in dem ich dir die ersten Schritt in Excel-VBA zeige.
Schritt 1: Prozedur erstellen und Variablen dimensionieren
Beginne damit, in deiner Excel VBA Oberfläche eine eigene Prozedur zu erstellen. In diesem Beispiel nenne ich diese MailVerschicken und dimensioniere die beiden erforderlichen Variablen. Mit OutMail wird das Mail Objekt dimensioniert, mit Schemas wird auf die Microsoft CDO Configuration zugegriffen.
Sub MailVerschicken()
Dim OutMail As Object
Dim Schemas As String
Set OutMail = CreateObject("CDO.Message")
Schemas = "http://schemas.microsoft.com/cdo/configuration/"
Schritt 2: Mail konfigurieren
Jetzt musst du über das Mail Objekt und die Schemas Variable die Mail konfigurieren.
Löse das am besten mit einer With Anweisung und übertrage immer die erforderlichen Konfigurationen (wie z.b. smtpserver, serverport etc.)
Wichtig ist auch, deine Absender Mailadresse sowie das zugehörige Passwort zu übermitteln.
' Mail-Konfiguration
With OutMail.Configuration.Fields
.Item(Schemas & "sendusing") = 2
.Item(Schemas & "smtpserver") = "smtp-mail.outlook.com"
.Item(Schemas & "smtpserverport") = 25
.Item(Schemas & "smtpauthenticate") = 1
.Item(Schemas & "smtpusessl") = True
.Item(Schemas & "sendusername") = "deineEmail@outlook.com"
.Item(Schemas & "sendpassword") = "deinPasswort"
.Update
End With
Schritt 3: Mail befüllen
Nun kannst du die Mail entsprechend deiner Vorgaben befüllen.
Über das .From Statement musst du die im Schritt 2 angegebene Mailadresse als Absender definieren.
Die restlichen Mailinhalte wie Emfpänger, Betreff und Mailinhalt kannst du entsprechend des Beispiels unten umsetzen.
' Mail-Befüllung
With OutMail
.From = "deineEmail@outlook.com"
.To = "empfaenger@beispiel.com"
.Subject = "Betreff"
.HTMLBody = "Mail Inhalt"
.Send
End With
End Sub
Ich hoffe dieses Tutorial hilft dir dabei, deinen Mailversand effizienter zu gestalten.
Wenn du sehen möchtest, wie ich mit der selben Methode Mails aus Yahoo und Thunderbird per Excel VBA versende, dann schaue dir gerne mein Video dazu an.