Charger dll dans vba(excel) chemin (dll) non statique

FlashKoti Messages postés 2 Date d'inscription jeudi 22 janvier 2004 Statut Membre Dernière intervention 26 janvier 2004 - 26 janv. 2004 à 08:37
FlashKoti Messages postés 2 Date d'inscription jeudi 22 janvier 2004 Statut Membre Dernière intervention 26 janvier 2004 - 26 janv. 2004 à 16:29
Bonjour,

Je cherche desépérement à charger une dll dans mes macros excel (vba). Je sais lier une dll lorsque le chemin et fixe, mais le programme étant dans un classeur, le chemin peut donc changer et j'aimerai éviter de copier ma dll dans le repertoire windows.
J'ai bien trouver les api LoadLibrary, GetProcAddress et FreeLibrary mais je n'arrive pas à utiliser la fonction ainsi pointer. J'ai trouvé des exemples mais ils utilisent tous CallWindowProc qui semble fait pour piloter des boîte de dialogue. Les fonctions exporté de ma dll sont du type fncMachin(argumentlist as long) as long. Je n'ai ni de message à envoyé ni de handle (étant dans excel) à transmettre.

Donc comment faire pour charger ma dll avec un chemin dynamique (connu au moment de l'exécution) et l'utiliser ?

D'avance merci pour aide.

Flash Koti

2 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
26 janv. 2004 à 08:48
Simple:
declare SetCurrentDirectory, celui ci au moins a un chemin fixe. Fixe ta currDir avec cette fonction, je suppose chemin de ton workbook, tu le fais dans workbook_Open et tu ne mets pas de chemin dans la declaration des autres DLLs, elles seront trouvees automatiquement par le systeme car dans ta currDir.
ciao...
BruNews, Admin CS.
0
FlashKoti Messages postés 2 Date d'inscription jeudi 22 janvier 2004 Statut Membre Dernière intervention 26 janvier 2004
26 janv. 2004 à 16:29
Bonjour,

Un trés grand merci pour cette idée, ça marche au poil. Finalement aucun besoin d'utiliser loadlibrary et consort.

Encore merci.

Flash Koti
0
Rejoignez-nous