Zugriff auf VBA-Projekte per VBProject

Die Klasse VBProject des Objektmodells zum Programmieren des VBA-Editors und der enthaltenen Elemente bietet einige interessante Eigenschaften, Methoden und Auflistungen. Diese schauen wir uns im vorliegenden Beitrag an. Hier wird deutlich, dass die VBProjects im VB-Editor nicht nur für Access-Datenbanken genutzt werden können, sondern auch noch für andere Anwendungen – es gibt nämlich einige Elemente, die unter Access nicht funktionieren.

Vorbereitung

Um die Elemente der Klasse VBE nutzen zu können, benötigen Sie einen Verweis auf die Bibliothek Microsoft Visual Basic for Applications Extensibility 5.3 Object Library, den Sie im Verweise-Dialog des VBA-Editors hinzufügen können (Menüeintrag Extras|Verweise).

Elemente der VBProject-Klasse

Die VBProject-Klasse liefert die folgenden Methoden, Auflistungen und Eigenschaften:

  • BuildFileName: Gibt den Namen einer DLL zurück. Diese Eigenschaft hat unter Access keine Verwendung, da hier keine DLL erstellt werden kann.
  • Collection: Liefert einen Verweis auf die Collection, in der sich das VBProject-Element befindet. Diese sollte normalerweise nur ein Element enthalten, nämlich das aktuelle VBA-Projekt. Wenn Sie jedoch beispielsweise seit dem Start der aktuellen Access-Session ein Access-Add-In verwendet haben, finden Sie auch dessen VBProject-Element in der Auflistung.
  • Description: Diese Eigenschaft ist standardmäßig leer und kann in den Projekteigenschaften eingestellt werden (siehe weiter unten).
  • FileName: Liefert den Pfad zu der Datei, in der das aktuelle VBProject-Objekt gespeichert ist – in der Regel also die Datenbankdatei, von der aus Sie den VBA-Editor mit dem aktuellen Projekt geöffnet haben.
  • MakeCompiledFile: Führt beim Aufruf aus einem VBA-Projekt zu dem Fehler aus Bild 1 und ist laut Dokumentation zum Erstellen einer DLL für das aktuelle Projekt gedacht – was aber wohl nicht für VBA-Projekte von Access-Datenbanken gilt.
  • Fehler beim Aufruf der Methode MakeCompiledFile

    Bild 1: Fehler beim Aufruf der Methode MakeCompiledFile

  • Mode: Gibt den Modus des Projekts an. Kann die drei Werte vbext_vm_Run (0), vbext_vm_Break (1) oder vbext_vm_Design (2) annehmen. Auch diese Eigenschaft lässt sich in VBA-Projekten unter Access nicht sinnvoll nutzen. Wenn Sie einen Haltepunkt setzen, dieser im Code erreicht wird und Sie dann im Direktbereich Debug.Print VBE.ActiveVBProject.Mode ausgeben lassen, erhalten Sie dennoch den Wert 0.
  • Name: Liefert den Namen des VBA-Projekts, so wie er auch in den Eigenschaften festgelegt ist.
  • Protection: Kann die Werte vbext_pp_locked (1) oder vbext_pp_none (0) annehmen. Standardmäßig ist der Wert 0 eingestellt. Diesen Wert ändern Sie durch Vergeben eines Kennworts für das VBA-Projekt.
  • References: Liefert eine Auflistung der Verweise des aktuellen VBA-Projekts.
  • SaveAs: Nicht für Access-VBA-Projekte verfügbar.
  • Saved: Gibt an, ob es noch ungespeicherte Änderungen im VBA-Projekt gibt. True bedeutet, dass alle Änderungen gespeichert sind, False, dass noch nicht gespeicherte Änderungen vorliegen.
  • Type: Gibt den Typ des VBA-Projekts zurück. Es gibt die beiden Werte vbext_pt_HostProject (100) und vbext_pt_Standalone (101).
  • VBComponents: Liefert eine Auflistung aller VBComponent-Objekte.
  • VBE: Verweis auf das übergeordnete VBE-Objekt

Projekteigenschaften einstellen

Die weiter oben erwähnte Eigenschaft Description ist standardmäßig leer. Sie können diese füllen, indem Sie den Dialog [Projektname] – Projekteigenschaften öffnen, was Sie mit dem Menüeintrag Extras|Eigenschaften von [Projektname]… erledigen. Hier finden Sie auf der ersten Seite gleich die Eigenschaft Projektbeschreibung, die Sie mit einem beliebigen Text füllen können (siehe Bild 2).

Einstellen der Beschreibung eines VBA-Projekts

Bild 2: Einstellen der Beschreibung eines VBA-Projekts

Anschließend rufen Sie diesen Text mit der folgenden Anweisung beispielsweise im Direktbereich ab:

  VBE.ActiveVBProject.Description
Dies ist eine Projektbeschreibung.

Kennwortschutz aktivieren und abfragen

Den Kennwortschutz aktivieren Sie im gleichen Dialog, in dem Sie auch die Projektbeschreibung eingeben – allerdings auf der zweiten Registerseite unter Schutz. Um den Schutz zu aktivieren, setzen Sie einen Haken für die Option Projekt für die Anzeige sperren. (siehe Bild 3). Danach können Sie unten das Kennwort eingeben und nochmals bestätigen.

Festlegen des Kennwortschutzes

Sie haben das Ende des frei verfügbaren Textes erreicht. Möchten Sie ...

TestzugangOder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:

Schreibe einen Kommentar