Beitrag aus SmartTools Outlook Weekly
Nachtrag: E-Mail zu einer bestimmten Uhrzeit am nächsten Tag senden
Outlook 365 2024 2021 2019 2016 2013
FRAGE In einer der letzten Ausgaben Ihres Newsletters ging es darum, E-Mails zu einer festgelegten Uhrzeit am nächsten Tag zu verschicken. Wie Sie sagen, funktioniert das nur mit Konten aus Microsoft 365-Geschäftsabos und nur, wenn das Konto im Online-Modus eingebunden ist. Beide Voraussetzungen sind in meinem Fall erfüllt. Mich ärgert aber, dass ich die Übermittlungsverzögerung in jeder E-Mail manuell einstellen muss. Geht das nicht einfacher – zum Beispiel mit einem VBA-Makro?
K. Möllenberg
ANTWORT Den verzögerten E-Mail-Versand können Sie auch über ein VBA-Makro steuern, wofür im Trust Center von Outlook natürlich die Ausführung von Makros erlaubt sein muss. Das ändert aber nichts an den Grundvoraussetzungen: Nur bei Konten aus Microsoft 365-Geschäftsabos und nur im Online-Modus des Exchange Servers funktioniert der zeitverzögerte Versand, ohne dass Outlook gestartet sein muss. In allen anderen Konstellationen muss Outlook laufen und aktiv sein.
Das Makro ermöglicht einen zeitverzögerten E-Mail-Versand auf Knopfdruck, ohne dass Sie jedes Mal die Nachrichtenoptionen anpassen müssen. Mit der folgenden Anleitung erstellen Sie ein Makro, das eine neue E-Mail immer am nächsten Tag um 7:30 Uhr sendet:
- Drücken Sie Alt + F8, um das Dialogfenster Makros zu öffnen.
- Im Feld Makroname geben Sie folgende Bezeichnung ein:
EMailMorgenSenden - Klicken Sie auf die Schaltfläche Erstellen.
- Sie gelangen in die Entwicklungsumgebung von Outlook, in der ein Codefenster mit dem Gerüst der Makroprozedur "EMailMorgenSenden" geöffnet ist.
- Erweitern Sie den VBA-Code wie folgt:
Sub EMailMorgenSenden()
Dim objInsp As Inspector
Dim objMail As MailItem
Dim strUhrzeit As String
strUhrzeit = "07:30:00"
Set objInsp = Application.ActiveInspector
Set objMail = objInsp.CurrentItem
With objMail
If .Recipients.Count = 0 Then
MsgBox Prompt:="Geben Sie bitte mindestens eine Empfängeradresse ein!", _
Buttons:=vbExclamation + vbOKOnly, _
Title:="Zeitverzögerter Versand"
Else
.DeferredDeliveryTime = Date + 1 + TimeValue(strUhrzeit)
.Send
End If
End With
Set objMail = Nothing
Set objInsp = Nothing
End Sub
- Am Anfang des Makrocodes definieren Sie mit "strUhrzeit =" die gewünschte Versandzeit. Hier ist sie auf 7:30 Uhr eingestellt. Wenn Sie die E-Mail lieber um 5 Uhr verschicken wollen, ändern Sie die Codezeile in
strUhrzeit = "05:00:00" - Drücken Sie Strg + S, um den VBA-Code zu speichern.
- Verlassen Sie die Entwicklungsumgebung per Datei-Schließen und zurück zu Microsoft Outlook.
Das allein beschleunigt den E-Mail-Versand noch nicht. Für einen verzögerten Versand per Mausklick müssen Sie noch einen Befehl in die Symbolleiste für den Schnellzugriff einfügen – und zwar in die Symbolleiste für den Schnellzugriff des Nachrichtenfensters:
- Legen Sie eine neue, leere E-Mail an.
- Im Nachrichtenfenster klicken Sie am rechten Ende der Symbolleiste für den Schnellzugriff auf den Dropdownpfeil, und im aufklappenden Menü wählen Sie Weitere Befehle an.
- Im danach angezeigten Dialogfenster öffnen Sie das Dropdownfeld Befehle auswählen und aktivieren den Eintrag "Makros".
- In der Makroliste markieren Sie den Namen "Projekt1.EMailMorgenSenden" und klicken auf die Schaltfläche Hinzufügen.
- Der Makroname erscheint daraufhin im rechten Listenfeld. Um Anzeigenamen und Symbol anzupassen, klicken Sie auf die Schaltfläche Ändern.
- Im nun angezeigten Dialogfenster wählen Sie ein geeignetes Symbol aus. Und im Feld Anzeigename geben Sie zum Beispiel eine Bezeichnung wie "Morgen senden" ein. Danach klicken Sie auf Ok.
- Bestätigen Sie das Fenster der Outlook-Optionen mit Ok.
- Das E-Mail-Fenster können Sie schließen, ohne Änderungen zu speichern.
Ab sofort können Sie E-Mails auf Knopfdruck zeitversetzt senden: Erstellen Sie die Nachricht zunächst wie gewohnt. Anstelle direkt auf Senden zu klicken, klicken Sie in der Symbolleiste für den Schnellzugriff auf den zuvor hinzugefügten Befehl – beispielsweise mit dem Anzeigenamen Morgen senden.
