0
Merci

Quelques mots de remerciements seront grandement appréciés.

Code vba pour référencer une dll sous access


Pour référencer la DLL


'On vérifie que la référence n'existe pas déjà
For i = 1 To Application.References.Count
    If Application.References(i).Name = Split(Dir(Path), ".")(0) Then Find = True
Next

' On ajoute une référence de la DLL dans Access 
If Not find Then application.References.AddFromFile path

' On charge la DLL en mémoire
hDLL  = LoadLibrary(path)
If hDLL =  0 Then Err.Raise 15003, , msg_erreur(15003) 'Err.Raise 513, , "Impossible de trouver la DLL"

' On récupère l'adresse de la DLL 
adressDLL  = GetProcAddress(hDLL, "DllRegisterServer")

' On enregistre la DLL
If CallWindowProc(adressDLL, frm_hwnd, 0&, 0&, 0&) <> ERROR_SUCCESS Then
    ' si on échoue on essaie avec PsExec
    Shell chemin_psexec & " -s -i regsvr32 /s " & path
End If

' On libère la mémoire
FreeLibrary hDLL

Pour enlever la référencer à la DLL


' On supprime la DLL 
For i  = 1 To application.References.Count
    If application.References(i).Name =  Split(Dir(path), ".")(0) Then _
               application.References.Remove application.References(i)
Next

' On charge la DLL en mémoire
hDLL = LoadLibrary(path)
If hDLL = 0 Then Err.Raise 513, , "Impossible de trouver la DLL"

' On récupère l'adresse de la DLL 
adressDLL  = GetProcAddress(hDLL, "DllUnregisterServer")

' On enregistre la DLL
If CallWindowProc(adressDLL, frm_hwnd, 0&, 0&, 0&) <> ERROR_SUCCESS Then
    ' si on échoue on essaie avec PsExec
    Shell chemin_psexec & " -s -i regsvr32 /s /u " & path
End If

' On libère la mémoire
FreeLibrary hDLL

A voir également

Publié par . Dernière mise à jour le par pijaku.

Ce document intitulé «  Code vba pour référencer une dll sous access  » issu de CodeS-SourceS (https://codes-sources.commentcamarche.net/) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

2 Commentaires