Betreffzeile von E-Mails automatisch um das aktuelle Datum erweitern

Betreffzeile von E-Mails automatisch um das aktuelle Datum
erweitern | Outlook
In vielen Bereichen werden täglich Nachrichten mit gleich lautenden Betreffzeilen an mehrere
Empfänger verschickt. Wenn du dabei Lesebestätigungen anforderst, gibt es ein Problem: Da die
Empfänger die Nachrichten nicht immer am gleichen Tag lesen, treffen die Bestätigungen häufig erst
einige Tage später ein. Am Betreff ist dann nicht zu erkennen, auf welche Nachricht sich die
Lesebestätigung bezieht. Zum Beispiel: du verschickst täglich aktuelle Preislisten mit dem Betreff
»Anbei aktuelle Preisliste«. Um das oben geschilderte Problem zu lösen, müsste bei jeder Nachricht
das aktuelle Tagesdatum in den Betreff eingegeben werden, so dass du später am Betreff »Gelesen:
Aktuelle Preisliste vom 16.07.2014« erkennen kannst, dass der Empfänger die Preisliste erhalten hat.
Dieser Aufwand lässt sich mit Hilfe der VBA-Routine aus diesem Tipp vermeiden.
Wirf dazu einen kleinen Blick hinter die Kulissen: Wenn eine Nachricht (oder ein anderes
Element) verschickt wird, löst Outlook automatisch ein »Anwendungsereignis« namens
»ItemSend« (Element wird gesendet) aus. In der dazugehörenden Ereignisprozedur kannst du
Anweisungen unterbringen, die das gesendete Element prüfen und ggf. ein Datum zur Betreffzeile
hinzufügen. Um eine solche Lösung in dein Outlook einzubauen, gehe wie folgt vor:

Wechsle mit <Alt>+<F11> in die VBA-Entwicklungsumgebung.

Doppelklicke jeweils auf das Projekt, »Microsoft Outlook Objekte« und
»DieseOutlookSitzung« bzw. »ThisOutlookSession«.

Stelle rechts im VBA-Editor die Liste OBJEKT (Liste links) auf »Application« und die Liste
PROZEDUR (Liste rechts) auf »ItemSend« ein.

Gib die folgenden Anweisungen ein:
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim objMail As MailItem, strSubj As String
Dim I&, tmp As Variant, blnHasDate As Boolean
On Error Resume Next
If Item.Class = olMail Then 'Ist eine Nachricht...
Set objMail = Item
With objMail
If InStr(LCase$(.Subject), "aktuelle liste") _
<> 0 Then 'Betreff ggf. anpassen
tmp = Split(.Subject, " ")
For I = 0 To UBound(tmp)
While Right(tmp(I), 1) = "."
tmp(I) = Left(tmp(I), Len(tmp(I)) - 1)
Wend
If IsDate(tmp(I)) Then
blnHasDate = True
Exit For
End If
Next I
If Not blnHasDate Then 'Datum hinzufügen
For I = 0 To UBound(tmp)
strSubj = strSubj & tmp(I) & " "
Next I
.Subject = strSubj & "vom " & Format(Now, _
"Short Date") & "..."
.Save
End If
'----- Datum einfügen
End If
'----- Betreff pruefen...
End With 'objMail
End If 'Nachricht?
End Sub

Speichere die Änderungen und verlasse die VBA-Entwicklungsumgebung wieder.
1. Juli 2015
http://www.provinz.bz.it/landmaus - Seite 1|2
Betreffzeile von E-Mails automatisch um das aktuelle Datum
erweitern | Outlook
Erstelle nun einmal eine neue Nachricht an einen imaginären Empfänger wie
»[email protected]« mit dem Betreff »Anbei die aktuelle Liste...« und klicke auf <Senden>.
Öffne dann den Postausgang, bzw. Gesendete Elemente. Die Nachricht hat jetzt zum Beispiel den
Betreff »Anbei die aktuelle Liste vom 01.07.2015...«.
Und so funktioniert die Prozedur: Im erste Schritt wird über »Item.Class« geprüft, ob es sich bei dem
gesendeten Element überhaupt um eine Nachricht handelt - nur dann werden die folgenden
Anweisungen ausgeführt. Diese Anweisungen identifizieren eine eventuell zu ergänzende Nachricht
anhand der Wörter »aktuelle Preisliste« in der Betreffzeile. Trifft das zu, wird die Betreffzeile per
»Split()« in ein Array zerlegt, das aus den einzelnen Wörtern der Betreffzeile besteht. Beispiel:
Array(0)= Anbei
Array(1)= die
Array(2)= aktuelle
Array(3)= Preisliste...
Jedes Arrayelement wird nun in einer Schleife per »IsDate()« daraufhin geprüft, ob es ein gültiges
Datum darstellt. Wenn ja, setzen wir ein Flag »blnHasDate«, um kenntlich zu machen, dass bereits
ein Datum vorhanden ist und keines mehr eingefügt werden muss. Ist die Schleife durchlaufen und
anhand von »blnHasDate« erkennbar, dass kein Datum vorhanden ist, wird die Betreffzeile wieder
aus den einzelnen Wörtern aus dem Array zusammengesetzt, um den Zusatz »vom TT.MM.JJJJ...«
ergänzt und das Ergebnis als neuer Betreff gesetzt und gespeichert - fertig!
1. Juli 2015
http://www.provinz.bz.it/landmaus - Seite 2|2