Quick-Tipp: Makros dokumentieren
Makros sind bekanntermaßen schlecht handlebar, keine Dokumentation, keine Parameter etc. Doch was die Dokumentation angeht da kann man sich mit einem Trick behelfen, indem man die Methode Application.SaveAsText verwendet. Nachfolgendes Beispiel zeigt wie man es einsetzt:
Sub test() If Not macro_output Then MsgBox "keine Makros zum Dokumentieren gefunden!", vbInformation + vbOKOnly Else MsgBox "Alle Makros dokumentiert. Ausgabepfad:" & vbCrLf & _ CurrentProject.Path & "\", vbInformation + vbOKOnly End If End Sub
Public Function macro_output() As Boolean Dim i As Long Dim strMacroName As String For i = 0 To CurrentProject.AllMacros.Count - 1 strMacroName = CurrentProject.AllMacros(i).Name Call Application.SaveAsText(acMacro, strMacroName, _ CurrentProject.Path & "\" & strMacroName & ".txt") Next If i > 0 Then macro_output = True End Function
In einer For-Schleife werden alle Makros durchlaufen und der Makroname ermittelt. Danach der Makroname als Parameter bei Application.SaveAsText verwendet. Über den boolschen Rückgabewert kann man z.B. eine Ausgabe in der aufrufenden Prozedur steuern.
Die Ausgabe-Datei im txt-Format sieht z.B. so aus:
Version =196611 ColumnsShown =3 Begin MacroName ="MeinMakro" Condition ="A=1" Action ="OpenTable" Argument ="tblVorgaenge" Argument ="2" Argument ="2" End
Ein paar Zeilen erklärenden Text darunter und das Makro ist dokumentiert.
Bis dahin
Andreas Vogt ©2011