Manchmal benötigt man für einen bestimmten Zweck das Verzeichnis, in dem sich die Access-Add-Ins befinden. Bevor man eine Internetrecherche startet, wo sich dieser befindet, kann man auch einfach eine kleine, versteckte Funktion verwenden.
Access-Add-Ins werden, wenn sie mit dem Add-In-Manager installiert wurden, immer in einem bestimmten Verzeichnis gespeichert.
Wenn man dieses Verzeichnis sucht, um beispielsweise ein nicht mehr benötigtes Access-Add-In zu löschen, kostet das manchmal unnötig Zeit.
Viel einfacher geht es mit einem geheimen VBA-Befehl. Dieser gehört zur Wizhook-Klasse, die intern von Access für verschiedene Zwecke genutzt wird, aber nicht offiziell dokumentiert und auch nicht über den Objektkatalog einsichtbar ist.
Der Clou bei der Wizhook-Klasse ist, dass man die enthaltenen Methoden und Funktionen nur nutzen kann, wenn man die Key-Eigenschaft auf einen bestimmten Zahlenwert einstellt:
WizHook.Key = 51488399
Danach kann man die zahlreichen Funktionen nutzen.
In diesem Fall wollen wir das Verzeichnis mit den Access-Add-Ins ermitteln, was wir wie folgt erledigen:
Debug.Print WizHook.OfficeAddInDir
Dies liefert beispielsweise:
C:\Users\User\AppData\Roaming\Microsoft\AddIns\
In einer kleinen Funktion können wir diese Funktion wie folgt nutzen:
Public Function GetAddInFolder() As String WizHook.Key = 51488399 GetAddInFolder = WizHook.OfficeAddInDir End Function
Ausführen lässt sie sich mit dem folgenden Aufruf, zum Beispiel im Direktbereich des VBA-Editors:
Debug.Print GetAddInFolder