Programmcode mit VBA auswerten
Veröffentlicht am 30.12.2003
Programmcodes exportieren
Die Möglichkeit zum Zugriff auf den Programmcode eines Moduls ist zur Entwicklung bestimmter Assistenten besonders wichtig. Leider stellt Access dafür keine passende Funktion zur Verfügung.
Um trotzdem auf den Programmcode zuzugreifen, exportieren Sie ein beliebiges Modul in eine Textdatei und lesen Sie diese anschließend von VBA aus ein.
Den Export bewerkstelligen Sie am einfachsten mit Hilfe der OutputTo-Aktion. Anschließend können Sie die Textdatei öffnen und den Programmcode einlesen.
Die folgende Beispielprozedur gibt eine Liste aller Prozedurköpfe eines Moduls im Textfenster aus:
Sub ProzedurlisteAusgeben(Modulname As String)
Const Dateiname = "C:\MODUL.TXT"
Dim Datei As Long
Dim Zeile As String
'Datei löschen, falls sie existiert
If Dir(Dateiname) <> "" Then Kill Dateiname
'Modul als Textdatei exportieren
DoCmd.OutputTo acModule, Modulname, "MS-DOSText(*.txt)", Dateiname, False
'Datei öffnen
Datei = FreeFile
Open Dateiname For Input As Datei
Do While Not EOF(Datei)
Line Input #Datei, Zeile
If Left(Zeile, 3) = "Sub" Or Left(Zeile, 8) = "Function" Or _
Left(Zeile, 11) = "Private Sub" Or _
Left(Zeile, 16) = "Private Function" Or _
Left(Zeile, 10) = "Public Sub" Or _
Left(Zeile, 15) = "Public Function" Then
Debug.Print Zeile
End If
Loop
Close Datei
End Sub
Um die Module eines Formulars auszuwerten, geben Sie als Modulname den Text Form_ gefolgt vom Namen des Formulars an (z.B.Form_Adressen). Gleiches gilt für Berichte, bei deren Namen Sie allerdings den Text Report_ voranstellen müssen.
