Zurück zur Homepage

Beschreibung benutzerdefinierter Funktionen

Eine neue Kategorie im Funktionsassistent und eine eigene Beschreibung der Parameter kann man durch ein Excel 4 Makro erreichen.

Option Explicit
'Für jede Beschreibung muss eine andere
'API-Funktion benutzt werden. Die Beschreibungen
'gehen beim Beenden verloren. Daher beim Öffnen
'der Mappe automatisch starten lassen.

Public Function Functionstest$(a, b, c)
'Dummy-Funktion, um das Prinzip zu zeigen
Functionstest = "Argument a=" & a & _
    ", Argument b=" & b & ", Argument c=" & c
End Function


Public Sub Funktionsbeschreibung()
Dim strFunktionsname$, strParameter$
Dim strDummy$
Dim strKategorie$, strBeschreibung$
Dim strArgumentbeschreibung$(1 To 3)
Dim strAnf$, strÜbergabe$, strKomma$
strAnf = """": strKomma = ","
'Jede beliebige API - Funktion
'kann benutzt werden. Sie muss nur
'in der entsprechenden .dll vorhanden
'sein. Gross und -Kleinschreibung beachten.

strDummy = "kernel32" & strAnf & "," _
    & strAnf & "GetACP"
'Der Name der zu beschreibenden Funktion
strFunktionsname = "Functionstest"
'Die zukünftigen Parameternamen
strParameter = "Variant1,Variant2,Variant3"
'Die Kategorie
strKategorie = "Neuer Eintrag"
'Hier kommt die allgemeine Beschreibung hin
strBeschreibung = "Die übergebenen Parameter werden angezeigt"
'Die Beschreibung einzelner Parameter
strArgumentbeschreibung(1) = _
    "Der erste Parameter "
strArgumentbeschreibung(2) = _
    "Der zweite Parameter "
strArgumentbeschreibung(3) = _
    "Der dritte Parameter "
'Der String für das Excel4 Makro wird erstellt
strÜbergabe = "REGISTER(" & strAnf & _
    strDummy & strAnf
strÜbergabe = strÜbergabe & strKomma & _
    strAnf & strAnf
strÜbergabe = strÜbergabe & strKomma & _
    strAnf & strFunktionsname & strAnf
strÜbergabe = strÜbergabe & strKomma & _
    strAnf & strParameter & strAnf
strÜbergabe = strÜbergabe & strKomma & _
    strAnf & "1" & strAnf
strÜbergabe = strÜbergabe & strKomma & _
    strAnf & "" & strKategorie & strAnf
strÜbergabe = strÜbergabe & strKomma & _
    strKomma
strÜbergabe = strÜbergabe & strKomma & _
    strAnf & strBeschreibung & strAnf
strÜbergabe = strÜbergabe & strKomma & _
    strAnf & strArgumentbeschreibung(1) _
    & strAnf
strÜbergabe = strÜbergabe & strKomma & _
    strAnf & strArgumentbeschreibung(2) _
    & strAnf
strÜbergabe = strÜbergabe & strKomma & _
    strAnf & strArgumentbeschreibung(3) _
    & ". " & strAnf
strÜbergabe = strÜbergabe & ")"
'Das Excel4 Makro wird gestartet
Application.ExecuteExcel4Macro strÜbergabe
End Sub

Public Sub UnregisterFunctionsbeschreibung()
Dim strFunktionsname$
Dim strAnf$, strÜbergabe$, strKomma$
Dim strDummy$
'Hier wird die Beschreibung gelöscht
strAnf = """": strKomma = ","
strDummy = "kernel32" & strAnf & "," & _
    strAnf & "GetACP"
strFunktionsname = "Functionstest"
strÜbergabe = "REGISTER(" & strAnf & _
    strDummy & strAnf
strÜbergabe = strÜbergabe & strKomma & _
    strAnf & strAnf
strÜbergabe = strÜbergabe & strKomma & _
    strAnf & strFunktionsname & strAnf
strÜbergabe = strÜbergabe & strKomma & _
    strKomma & "0)"
Application.ExecuteExcel4Macro strÜbergabe
strÜbergabe = "UNREGISTER(" & strFunktionsname & ")"
Application.ExecuteExcel4Macro strÜbergabe
End Sub