Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.
Wenn Sie per VBA mit Objekten wie Word, Excel, Outlook interagieren oder auf die Elemente externe Bibliotheken zugreifen möchten, die Objekte, Eigenschaften, Methoden und Ereignisse bereitstellen, können Sie dies auf zwei Arten erledigen: mit Early Binding oder mit Late Binding. Dieser Artikel erklärt die Vor- und Nachteile dieser beiden Vorgehensweisen anhand des Zugriffs auf eine Excel-Tabelle.
Beispieldatenbank
Die Beispiele dieses Artikels finden Sie in der Datenbank 1209_EarlyUndLateBinding.mdb.
Beispiel
Das Beispiel für diesen Artikel ist einfach: Wir wollen einfach nur eine Excel-Instanz erstellen, ein neues Dokument anlegen und in der ersten Zelle der ersten Tabellen des Dokuments einen Wert eintragen. Dies erledigen auf zwei Arten: mit Early Binding und mit Late Binding. Beides bezieht sich auf die Art, wie Sie die Excel-Instanz deklarieren instanzieren und die im VBA-Code verwendeten Objekte deklarieren.
Early Binding
Beim Early Binding fügen Sie dem VBA-Projekt der Datenbank-Datei einen Verweis auf die Bibliothek Microsoft Excel x.0 Object Library hinzu. Dazu öffnen Sie den VBA-Editor (zum Beispiel mit Alt + F11), betätigen den Menübefehl Extras|Verweise und finden dann den Verweise-Dialog vor. Dort finden Sie, wenn Sie Office beziehungsweise Excel installiert haben, einen entsprechenden Eintrag in der Liste der verfügbaren Verweise vor und markieren diesen (siehe Bild 1).
Bild 1: Hinzufügen eines Verweises auf die Excel-Bibliothek
Damit teilen Sie dem VBA-Editor mit, dass Sie die in dieser Bibliothek definierten Objekte, Eigenschaften, Methoden und Ereignisse verfügbar machen wollen. Im VBA-Editor macht sich das Hinzufügen dieses Verweises zum Beispiel dadurch bemerkbar, dass das Excel-Objekt und seine Elemente beim Deklarieren verfügbar sind.
Dies probieren wir in einem neuen Standardmodul aus, das Sie mit dem Menübefehl Einfügen|Modul anlegen – speichern Sie dieses unter dem Namen mdlExcel.
Wenn Sie dort gleich oben eine Deklarationszeile wie die folgende Anlegen, bietet IntelliSense gleich das Excel-Objekt zur Auswahl an (siehe Bild 2):
Bild 2: Beim Early Binding stehen die Elemente der referenzierten Bibliothek per IntelliSense zur Auswahl bereit
Dim objExcel As Excel.Application
Auch die übrigen Elemente dieser Bibliothek stehen nun zur Deklaration bereit. Doch damit nicht genug: Wenn Sie nun ein Objekt auf Basis der Klasse Excel.Application erstellen, können Sie auch noch per IntelliSense auf seine Eigenschaften und Methoden zugreifen (siehe Bild 3).
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