vba_blitz
Messages postés32Date d'inscriptiondimanche 12 juin 2005StatutMembreDernière intervention26 juin 2007
-
27 avril 2007 à 10:13
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
28 avril 2007 à 06:43
Bonjour,
J'utilise des dll dans un programme vba pour excel. Mes dll sont déclarées comme cela :
Public Declare Sub Chargement Lib "G:\cplusplus\Signaux\Signaux.dll" (ByRef Sys As Double)
Je souhaite remplacer le chemin par une variable qui detectera le repertoire courant. Le probleme c'est que les dll sont déclarées hors sub ou fonction et je n'arrive pas a déclarer par exemple :
Public Declare Sub Chargement Lib path & "\Signaux.dll" (ByRef Sys As Double)
avec path etant le repetoire courant detecté par vba.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 27 avril 2007 à 11:50
Pour completer :
Avec une instruction Declare c'est tout simplement pas possible de mettre une variable. Il faut passer dans ce cas là par un chargement dynamique par LoadLibrary. Personellement j'ai essayer une fois, j'aime pas, je trouve ça un peu trop lourd.
2nd solution donnée : ne pas mettre de chemin.
Dans ce cas la dll sera cherchée dans les répertoires préindentifiés, dans l'ordre de recherche :
- Répertoire de l'appli (dans le cas de VBA Excel, je ne sais pas s'il s'agit du répertoire du fichier xls, ou alors du répertoire du logiciel Excel, à voir)
- Répertoire %WINDIR%, généralement C:\Windows, C:\Winnt sous W2k et Win NT 4.0
- Répertoire %SYSTEM%, généralement C:\Windows\system32
- Répertoies indiqués dans la variable %PATH% dans l'odre d'apparition.
La recherche s'arrete au premier fichier portant le nom correspond, ce fichier étant valide ou pas.
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #