Lies in den Artikel rein und unten bekommst Du ein unschlagbares Angebot!
In diesem Magazin stellen wir immer wieder Beispiele zur Programmierung von Outlook per VBA vor. Während wir solchen Beispielcode bei den anderen Anwendungen wie Word, Excel oder PowerPoint oder auch unter Access in entsprechenden Beispieldokumenten unterbringen können, müssen wir die Outlook-Beispiele in das VBA-Projekt von Outlook einfügen, um diese auszuprobieren. Wie das gelingt, zeigt der vorliegende Artikel.
Die Beispiele in unseren Artikeln zur Programmierung von Outlook über das VBA-Projekt von Outlook selbst enthalten manchmal nur einzelne Prozeduren, die Du direkt in ein beliebiges Standardmodul im VBA-Projekt von Outlook einfügen kannst – optimalerweise in ein neues, leeres Standardmodul, damit Du keine Module mit bestehendem Code beeinflusst, weil dann beispielsweise eine Variablendeklaration dort doppelt vorkommt.
Gelegentlich liefern wir aber auch komplette Module, die in zwei Typen aufgeteilt werden können:
- Standardmodule: Diese enthalten Routinen, die wir direkt starten können, sofern diese keine Parameter aufweisen. Routinen mit Parametern müssen wir beispielsweise über den Direktbereich starten und übergeben dabei die Werte für die Parameter.
- Klassenmodule: Klassenmodule müssen immer erst initialisiert und mit einer entsprechenden Objektvariablen referenziert werden, bevor wir die darin enthaltenen Methoden starten können. Eine Ausnahme ist das immer bereits vorhandene Klassenmodul ThisOutlookSession. Die hier aufgeführten Routinen können wir wie die in Standardmodulen direkt starten.
VBA-Routinen direkt starten
Was aber bedeutet “direkt starten” eigentlich? Damit meinen wir, dass Du die Routine (also die Sub– oder Function-Prozedur) im Code-Fenster im VBA-Editor markierst (dazu muss sich die Einfügemarke irgendwo innerhalb der Prozedur befinden) und dann entweder die Taste F5 betätigst, den Menübefehl Ausführen|Sub/Userform ausführen aufrufst oder die gleichnamige Schaltfläche mit dem Abspielen-Symbol anklickst.
Damit kannst Du beispielsweise Prozeduren wie die Folgende Starten:
Public Sub Beispielaufruf MsgBox "Beispielaufruf" End Sub
Das Ergebnis sieht wie in Bild 1 aus.
Bild 1: Starten einer einfachen Sub-Prozedur
Wenn die Sub– oder Function-Prozedur jedoch einen oder mehrere Parameter enthält, kannst Du diese nicht mehr direkt starten. Versuchst Du es auf die gleiche Weise wie zuvor, erscheint wie in Bild 2 der Dialog Makros.
Bild 2: Fehlgeschlagener Aufruf einer Prozedur mit Parameter
Hier ist nun eine von zwei Alternativen möglich:
- Wenn die Prozedur mit Parameter nur wenige Male ausprobiert werden soll, rufen wir diese über den Direktbereich auf.
- Wenn absehbar ist, dass die Prozedur mit Parametern des Öfteren aufgerufen werden soll, schreiben wir den Aufruf in eine eigene Prozedur.
Für den Aufruf über den Direktbereich schreiben wir den folgenden Befehl unter Angabe des Parameters einfach in den Direktbereich und betätigen die Eingabetaste: