Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.
Von Access aus können Sie andere Anwendungen per VBA fernsteuern, wenn diese Anwendung dies unterstützt. Das ist grundsätzlich bei den übrigen Office-Anwendungen wie Excel, Outlook, Word oder PowerPoint der Fall. In dieser Artikelserie schauen wir uns an, wie Sie eine Excel-Anwendung fernsteuern können und wie Sie Dokumente anlegen, Daten in eine Excel-Tabelle schreiben oder die Daten auslesen.
Beispieldatenbank
Die Beispiele dieses Artikels finden Sie in der Datenbank 1803_AccessUndExcelFernsteuern.accdb.
Early Binding und Late Binding
Sie können eine Anwendung wie etwas Microsoft Excel auf verschiedene Arten referenzieren, wenn Sie diese fernsteuern wollen. Die unterschiedlichen Herangehensweisen heißen Early Binding und Late Binding. Diese beiden haben wir bereits in einem früheren Artikel namens Early Bindung und Late Binding erläutert. Im vorliegenden Beitrag wollen wir die Technik Early Binding nutzen, da dies eine komfortablere Programmierung ermöglicht.
Dazu fügen wir dem VBA-Projekt der aktuellen Access-Datenbank einen Verweis auf die Bibliothek Microsoft Excel x.0 Object Library hinzu, wobei das x für die auf Ihrem Rechner installierte Version von Microsoft Excel handelt. Um dies zu erledigen, öffnen Sie den VBA-Editor – beispielsweise mit der Tastenkombination Alt + F11 -, und rufen dann den Menüeintrag Extras|Verweise auf. Hier suchen Sie den gewünschten Eintrag aus und markieren diesen über das entsprechende Kontrollkästchen (siehe Bild 1).
Bild 1: Verweis auf die Excel-Bibliothek
Wenn Sie nun mit der Taste F2 oder dem Menüeintrag Ansicht|Objektkatalog den Objektkatalog öffnen, finden Sie dort im oberen Kombinationsfeld den Eintrag Excel vor.
Wählen Sie diesen aus, erscheinen unten alle Elemente der Excel-Bibliothek (siehe Bild 2). Dies ist eine gute Anlaufstelle, wenn Sie einmal nach bestimmten Klassen, Methoden, Eigenschaften oder Ereignissen suchen wollen.
Bild 2: Die Excel-Elemente im Objektkatalog
Excel-Instanz erstellen
Bevor wir auf die Daten einer Excel-Datei zugreifen können, um diese entweder einzulesen oder auch zu ändern, benötigen wir Zugriff auf eine Excel-Instanz. Das kann eine laufende Instanz sein, also eine solche, die der Benutzer bereits geöffnet hat, oder wir erstellen einfach per VBA-Code eine neue Instanz.
In beiden Fällen wollen Sie einen Verweis auf die Excel-Instanz in einer Objektvariablen speichern, um später über diese auf die Excel-Instanz zuzugreifen. Diese deklarieren wir wie folgt, zunächst in einer einfachen Prozedur, die wir in einem Standardmodul anlegen:
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