Quick-Tipp: Makros dokumentieren

By , 31. Mai 2011

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

Leave a Reply

You must be logged in to post a comment.

OfficeFolders theme by Themocracy