DLL Visual C++ 2005 Express to VBA Excel - C#/.NET managed - Programmation
Marsh Posté le 07-05-2007 à 14:01:46
Si je me souviens bien, tu dois avoir, dans ton projet C++, un fichier dans lequel tu déclares les points d'entrée de ta DLL. Il me semble que c'est un fichier qqch.def.
J'avais trouvé toutes ces infos en cherchant dans google comment faire pour créer une DLL et l'appeler depuis VBA. Il me semble que j'avais trouvé un tuto sur developpez.com.
Marsh Posté le 04-05-2007 à 22:44:56
Salut,
J'aimerais créer une DLL .Net et la compiler avec Visual C++ 2005 Express, car je crois qu'on ne peut pas créer avec ce compilateur de DLLs classiques Win32.
Comment procéder ?
voici ce que j'ai fait:
J'ai créé un nouveau projet:
-CLR
-Class Library
Je l'ai appelé test.
J'aimerais exporter une fonction qui prends un double et qui renvoit ce double +1 (par exemple).
J'ajoute donc dans le fichier test.h la déclaration de ma fonction:
Code :
// test.h
J'ajoute dans le fichier test.cpp la définition de ma fonction:
Code :
Je compile...
Ceci me crée un fichier test.dll, ma dll...
Je crée un projet sous VBA, avec un module contenant:
Public Declare Function DLLfonction Lib "D:\Visual Studio 2005\Projects\test\debug\test.dll" Alias "fct" (ByVal x As Double) As Double
Sub dlltest()
Dim x As Double
x = 1
Cells(1, 1) = DLLfonction(1)
End Sub
Je crée un bouton de commande qui lance ma dll depuis la feuille excel.
-> message d'erreur:
Erreur d'exécution '453':
Point d'entrée fct d'une DLL introuvable dans D:\Visual Studio 2005\Projects\test\debug\test.dll.
Message édité par andrea13new le 04-05-2007 à 22:47:00