Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.
Die Visual Basic-Entwicklungsumgebung ist definitiv in die Jahre gekommen. Wer schon einmal mit einer modernen Entwicklungsumgebung wie Eclipse oder dem Visual Studio .NET gearbeitet hat, wird bei der Rückkehr zur VBA-IDE möglicherweise einiges vermissen. Es gibt aber Möglichkeiten, die Entwicklungsumgebung zu erweitern – sogar mit den Hausmitteln von Access und mit nur einer zusätzlichen Bibliothek. Im ersten Teil der Artikelreihe schauen wir uns an, wie Sie auf die Objekte der VBA-Entwicklungsumgebung zugreifen.
Beispieldatenbank
Die Beispiele dieses Artikels finden Sie in der Datenbank 1904_EntwicklungsumgebungErweitern_Module.accdb.
Einstieg
Genau wie auf die Objekte einer Access-Datenbank wie Tabellen, Abfragen, Formulare und Berichte sowie die darin enthaltenen Steuerelemente können Sie auch auf die Elemente des VBA-Editors zugreifen und diese einlesen, bearbeiten, anlegen, speichern oder löschen. In diesem ersten Teil der Artikelreihe zum Thema Erweitern der VBA-Entwicklungsumgebung schauen wir uns an, wie Sie mit VBA auf die Objekte der Entwicklungsumgebung zugreifen können.
Vorbereitung
Als Erstes benötigen Sie einen Verweis auf die Bibliothek, welche die Objekte, Methoden, Eigenschaften und Ereignisse für die Programmierung des VBA-Editors bereitstellt. Diesen fügen Sie im VBA-Editor hinzu, indem Sie den Menübefehl Extras|Verweise betätigen und im nun erscheinenden Verweise-Dialog den Eintrag Microsoft Visual Basic for Applications Extensibility 5.3 hinzufügen (siehe Bild 1).
Bild 1: Der Verweis auf die Extensibility-Bibliothek für das Programmieren der VBA-Entwicklungsumgebung
VBE: Das Hauptobjekt der Entwicklungsumgebung
In der soeben hinzugefügten Bibliothek finden Sie als Hauptelement die VBE-Klasse. Diese Klasse brauchen sie nicht zu instanzieren, Sie können direkt über den Ausdruck VBE darauf zugreifen. Das sehen Sie schon, wenn Sie im Direktbereich des VBA-Editors VBE und einen Punkt eingeben – IntelliSense zeigt dann direkt die Elemente dieser Klasse an (siehe Bild 2).
Bild 2: Zugriff auf die Eigenschaften und Methoden der VBE-Klasse
VBProject: Das VBA-Projekt
Damit können Sie dann auch direkt auf die Auflistung VBProjects zugreifen.
Warum aber gibt es eine Auflistung über die Projekte Hat eine Access-Anwendung nicht immer nur ein VBA-Projekt, so wie in Bild 3 dargestellt
Bild 3: Das VBA-Projekt im Projekt-Explorer
Nein, das ist nicht der Fall: Sie können dort auch mehrere VBA-Projekte vorfinden. Das ist zum Beispiel der Fall, wenn Sie gerade ein Access-Add-In geladen haben. Dann sieht der Projekt-Explorer wie in Bild 4 aus.
Bild 4: Mehrere VBA-Projekte im Projekt-Explorer
Die einzelnen Projekte können Sie über die Auflistung VBProjects referenzieren, was etwa wie folgt aussieht:
Public Sub VBProjekteAusgeben() Dim objVBProject As VBProject Debug.Print "Anzahl VB-Projekte: " & VBE.VBProjects.Count For Each objVBProject In VBE.VBProjects Debug.Print objVBProject.Name Debug.Print objVBProject.FileName Debug.Print objVBProject.Type Next objVBProject End Sub
Für das Beispiel mit dem zusätzlichen VBA-Projekt aus dem Add-In erhalten wir dann zum Beispiel die folgende Ausgabe:
Anzahl VB-Projekte: 2 prjVBEBeispiele C:\...\1904_EntwicklungsumgebungErweitern_Module.accdb 100 RA2010 C:\...\ADDINS\RIBBONADMIN2016.ACCDA 100
Die Eigenschaftswerte finden Sie übrigens auch im Eigenschaftenfenster des Projekts wieder, das Sie über den Kontextmenü-Eintrag des Projekts öffnen können (siehe Bild 5).
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