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
© Copyright 2024 ExpyDoc