Verwendung von Objektvariablen

Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.

André Minhorst, Duisburg

Access-Variablen können unterschiedlichste Dinge enthalten: Eine String-Variable enthält eine Zeichenkette. Integer, Single, Double und einige andere Variablen enthalten Zahlen unterschiedlicher Größe. Boolean-Variablen enthalten Ja- und Nein-Werte. Im Gegensatz zu diesen Standardvariablentypen enthalten Objektvariablen Verweise auf Objekte. Im vorliegenden Beitrag lernen Sie die zwei Möglichkeiten kennen, Objektvariablen zu deklarieren.

Bei den meisten Objektvariablen handelt es sich um Variablen, die auf Komponenten von Objektmodellen anderer Anwendungen zeigen.

Beispiele dafür sind die gängigen Office-Anwendungen wie Word, Excel oder Outlook.

über die Objektvariable können Sie im VBA-Code auf die Methoden, Eigenschaften und Ereignisse der entsprechenden Objekte zugreifen.

Zur Deklaration von Objektvariablen gibt es zwei Möglichkeiten: Entweder die Variable wird direkt als das gewünschte Objekt deklariert oder Sie verwenden zunächst eine Objektvariable des Typs Object und weisen diesem erst später das gewünschte Objekt und damit dessen Eigenschaften zu. Erstere Variante heißt Early Binding, die zweite Late Binding.

Das Early Binding (Frühes Binden) einer Objektvariablen bedeutet, dass Sie den Typ des Objektes bereits bei seiner Deklaration festlegen.

Es setzt voraus, dass es einen Verweis auf die Bibliothek gibt, in der das gewünschte Objekt enthalten ist. Einen solchen Verweis legen Sie im Dialog Verweise des VBA-Editors fest.

Ein Beispiel für einen solchen Verweis ist die Bibliothek Outlook Object Library x.0.

Wenn Sie einen Verweis auf diese Bibliothek gesetzt haben (siehe Bild 2), können Sie alle verfügbaren Objekte per Early Binding deklarieren.

Bild 1: Auswahl von Objekten für das Early Binding

Nach dem Festlegen des Verweises sind die Objekte der Bibliothek im VBA-Editor leicht auswählbar (siehe Bild 1).

Bild 2: Verweis auf eine Bibliothek

Wenn der Typ des Objekts bekannt ist, können Sie auch im nachfolgenden Code die Methoden und Eigenschaften per Intellisense auswählen. Intellisense ist die Bezeichnung von Microsoft für die Technik, zur Verfügung stehende Objekte automatisch anzuzeigen.

Das eigentliche Setzen des Verweises erfolgt entweder direkt bei der Deklaration oder im Anschluss daran. Die erste Variante sieht folgendermaßen aus:

Dim appOutlook As New Outlook.Application
Debug.Print appOutlook.Name

Die zweite Variante benötigt eine Anweisung mehr:

Dim appOutlook As Outlook.Application
Set appOutlook = _    CreateObject("Outlook.Application")
Debug.Print appOutlook.Name

Die Anweisung Debug.Print dient jeweils dem Nachweis der Funktionsfähigkeit.

Late Binding (Spätes Binden) bedeutet, dass Sie eine Objektvariable zunächst mit dem generischen Typ Object versehen. Die Art des Objekts wird erst mit der Zuweisung des Objekts selbst festgelegt. Das geschieht beispielsweise in der folgenden Funktion:

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

Testzugang

eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar