Automatisierter E-Mail-Versand in Outlook: Planen mit VBA

Outlook VBA

Um die Flexibilität und Effizienz im E-Mail-Management zu erhöhen, bietet Microsoft Outlook die Möglichkeit, den Versand von E-Mails durch die Programmierung in VBA (Visual Basic for Applications) zu automatisieren und zu personalisieren. Ein besonders nützliches Feature ist die Option, den Versand einer E-Mail zu einem späteren Zeitpunkt zu planen. Dies kann beispielsweise hilfreich sein, wenn Sie möchten, dass Ihre Nachrichten zu einer bestimmten Uhrzeit ankommen, unabhängig davon, wann Sie sie tatsächlich verfassen.

In diesem Kontext präsentiere ich ein VBA-Skript für Outlook, das genau diese Funktionalität implementiert. Das Skript ermöglicht es Ihnen, eine E-Mail zu erstellen und deren Zustellung auf einen spezifischen Zeitpunkt zu verzögern, zum Beispiel auf 18:00 Uhr am selben Tag. Dies kann insbesondere in geschäftlichen Kontexten nützlich sein, um sicherzustellen, dass Ihre Nachrichten zu den üblichen Geschäftszeiten bei Ihren Empfängern eintreffen, selbst wenn Sie die E-Mail außerhalb dieser Zeiten verfassen.

Um E-Mails in Microsoft Outlook mit VBA (Visual Basic for Applications) zu einem späteren Zeitpunkt zu senden, können Sie ein Makro erstellen, das die DeferredDeliveryTime-Eigenschaft des MailItem-Objekts verwendet. Dies erlaubt Ihnen, ein spezifisches Datum und eine spezifische Uhrzeit für den Versand der E-Mail festzulegen.

Hier ist ein grundlegendes Beispiel für ein VBA-Makro, das eine E-Mail erstellt und deren Zustellung auf 18:00 Uhr des aktuellen Tages verzögert:

Sub SendEmailLater()
Dim OutlookApp As Object
Dim Mail As Object
Dim deliveryTime As Date

' Outlook Application erstellen
Set OutlookApp = CreateObject("Outlook.Application")

' Neue E-Mail erstellen
Set Mail = OutlookApp.CreateItem(0)

' E-Mail-Details einstellen
With Mail
.To = "empfaenger@email.com" ' Empfängeradresse
.Subject = "Betreff der E-Mail" ' E-Mail-Betreff
.Body = "Dies ist der Text der E-Mail." ' E-Mail-Text

' Zustellzeit festlegen: Heute um 18:00 Uhr
deliveryTime = Date + TimeSerial(18, 0, 0)
.DeferredDeliveryTime = deliveryTime

' E-Mail senden
.Send
End With

' Objekte aufräumen
Set Mail = Nothing
Set OutlookApp = Nothing
End Sub

Erklärung des Codes:

  • Outlook Application erstellen: Zuerst wird ein Outlook Application-Objekt erstellt. Dies ist notwendig, um auf die Funktionen von Outlook über VBA zugreifen zu können.
  • Neue E-Mail erstellen: Ein neues MailItem-Objekt wird erstellt. Dies repräsentiert die E-Mail, die Sie senden möchten.
  • E-Mail-Details einstellen: Hier werden die Eigenschaften der E-Mail festgelegt, wie Empfänger (To), Betreff (Subject) und Textkörper (Body).
  • Zustellzeit festlegen: Die DeferredDeliveryTime-Eigenschaft wird verwendet, um die Zeit festzulegen, zu der die E-Mail gesendet werden soll. In diesem Beispiel wird die Zeit auf 18:00 Uhr am aktuellen Tag gesetzt. Dies geschieht durch die Kombination des aktuellen Datums (Date) mit einer spezifischen Uhrzeit (TimeSerial(18, 0, 0) steht für 18:00 Uhr).
  • E-Mail senden: Die Send-Methode wird aufgerufen, um die E-Mail zur festgelegten Zeit zu senden.
  • Aufräumen: Schließlich werden die erstellten Objekte aufgelöst, um Speicher freizugeben.

Zu beachten:

  • Dieser Code muss in der VBA-Umgebung von Outlook eingefügt werden. Sie erreichen diese, indem Sie in Outlook ALT + F11 drücken.
  • Sie sollten die E-Mail-Adressen und den Text entsprechend Ihren Bedürfnissen anpassen.
  • Sicherheitswarnungen können erscheinen, da Outlook Sicherheitsmaßnahmen zum Schutz vor automatisiertem E-Mail-Versand hat. Sie können diese Warnungen in den Einstellungen von Outlook anpassen.

 

-

Vorheriger Artikel Nächster Artikel

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

CAPTCHA eingeben * Das Zeitlimit ist erschöpft. Bitte CAPTCHA neu laden.