Beschreibung
Seit Outlook 2000 SP3 (optional) bzw. Outlook XP sind einige Eigenschaften aus Sicherheitsgründen blockiert. Das betrifft z.B. die Absenderadresse einer E-Mail.
Seit Outlook 2003 lassen sich in VBA auch die blockierten Eigenschaften lesen, ohne eine Sicherheitswarnung auszulösen, indem alles vom schon vorhandenen Application-Objekt abgeleitet wird. Schon vorhanden heißt, in VBA gibt es bereits eine Variable namens Application, über die auf alle weiteren Objekte und deren Eigenschaften zugegriffen werden kann. Diese Variable braucht nicht erst erstellt zu werden. Und genau hier liegt häufig der Fehler, das betrifft übrigens auch die offizielle VBA-Hilfe: Es wird über die Funktionen GetObject oder CreateObject ein Verweis auf Application erzeugt.
Die folgenden Beispiele demonstrieren den Unterschied. Um die Beispiele zu testen, muss eine E-Mail im Posteingang liegen:
Example_1 zeigt, wie es nicht geht. Statt einfach mit Application zu arbeiten, wird mit der Funktion GetObject die Variable olApp auf das Application-Objekt gesetzt. Die Folge: Beim Versuch, die Absenderadresse einer Mail zu lesen, kommt die Sicherheitsmeldung.
Example_2 zeigt, wie Sie diese Sicherheitsmeldung einfach verhindern: Die Variable olApp wird direkt auf das Application-Objekt gesetzt, ohne die Funktion GetObject zu benutzen.
In Outlook 2003 gibt es noch etwas zu beachten: Wenn Sie ein Script erstellen, das vom Regel-Assistenten beim Eintreffen einer neuen E-Mail aufgerufen werden soll, dann übergibt der Regel-Assistent an das Script das MailItem in der blockierten Form. Ab Outlook 2007 ist das nicht mehr der Fall.
Wenn Sie für diese blockierte E-Mail die Absenderadresse lesen wollen, müssen Sie das gleiche Prinzip anwenden: Die Variable auf die E-Mail muss über das vorhandene Application-Objekt erzeugt werden.
Example_3 zeigt, wie es (in Outlook 2003) nicht geht.
Example_4 zeigt, wie Sie eine neue Variable auf die E-Mail über das Application-Objekt erhalten. Auf diese Weise kann die Absenderadresse ohne Probleme gelesen werden. |