Chemin dll c++ dans vba

vba_blitz Messages postés 32 Date d'inscription dimanche 12 juin 2005 Statut Membre Dernière intervention 26 juin 2007 - 27 avril 2007 à 10:13
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 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.

Merci

5 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
27 avril 2007 à 11:33
impossible....

passes par un LoadLibrary (je ne le te conseilles pas)

ou déplace ta dll dans un des chemins parcourus :

Public Declare Sub Chargement Lib "Signaux.dll" (ByRef Sys As Double)

ira voir dans le repertoire de l'appli
dans les repertoire décris dans le %PATH% (System32, etc)

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
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 #
0
vba_blitz Messages postés 32 Date d'inscription dimanche 12 juin 2005 Statut Membre Dernière intervention 26 juin 2007
27 avril 2007 à 16:08
Merci !
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
27 avril 2007 à 22:36
Salut,

la plus part du temps, vba cherche dans Application.Path, donc le répertoire de Excel.exe, à savoir Office12 (ou 11 ou autre, selon version).

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~
  
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
28 avril 2007 à 06:43
"la plupart du temps" ^^

Ca dépend de son humeur... :p

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
Rejoignez-nous