AW: Aufruf aller Makros dokumentieren
13.01.2008 16:24:19
Erich
Hallo Harald,
es gibt m. E. keine Möglichkeit, innnerhlab eines Makros den Namen des Makros zu ermitteln.
Allenfalls könnte das gehen, wenn jedes Makro in einem separaten Modul steht. Mehr dazu z. B. in
https://www.herber.de/forum/archiv/40to44/t40185.htm
Das bedeutet, dass jedes zu zählende Makro seinen Namen selbst mitteilen muss.
Es geht dann nur noch darum, das Ganze mit möglichst wenig Aufwand zu erledigen.
Dazu würde ich das Hochzählen selbst (z. B. in der Reg wie du es in deinem Code getan hast)
in ein eigenes Modul (vielleicht sogar in einer eigenen Mappe) schreiben, mit Mappen- und Makronamen als Parameter.
Zusätzlich müsste auch noch der Modulname mitgegeben werden. Das ist dann nötig,
wenn du in zwei Modulen Makros mit demselben Namen stehen hast.
Etwa bei Ereignisprozeduren in mehreren Tabellen kommt das durchaus vor.
In jedes zu zählende Makro schreibst du:
ZaehleMak ThisWorkbook.Name, "MeinMakroname"
So könnte die Prozedur ZaehleMak etwa aussehen:
Sub ZaehleMak(strWB As String, strName As String)
Var = GetSetting(appname:="Rechnungswesen", section:=strWB, Key:=strName)
Var = Var + 1
SaveSetting appname:="Rechnungswesen", section:=strWB, Key:=strName, Setting:=Var
End Sub
So hast du in jedem Makro nur noch eine zusätzliche Zeile.
Damit der Zähler aus mehreren Mappen heraus aufgerufen werden kann,
musst du die Mappen mit der Zählermakro-Mappe verknüpfen, in VBA per Extras - Verweise.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort