Bonjou à tous,
je voudrais savoir comment on pourrais intégrer une dll écrite en c dans un code VBA.
Merci d'avance!
Version imprimable
Bonjou à tous,
je voudrais savoir comment on pourrais intégrer une dll écrite en c dans un code VBA.
Merci d'avance!
Salut, sosu VBE Outils/Références Parcourir et sélectionner la Dll en question
Après il y a l'explorateur d'objets [F2]
il y a bien cela http://activex.developpez.com/ mais c'est du VB
http://lfe.developpez.com/DLL/
S'il s'agit d'une Dll écrite en C il est plus probable que ce soit une Api Windows qu'une Dll Automation.
Voir http://vb.developpez.com/bidou/vb-api/
Affirmataf,je m'y perds un peu dans ces dénominations M$, il y a aussi les Xll comme l'ATP (Analysis Tool Pack )
Il n'y a pas de quoi, il n'y a que 2 types de librairies :
* Les Dll Windows : simples bibliothèques de fonctions dont l'export passe par DllMain et des pointeurs
=> elles sont déclarées sous VB(/vba) via une instruction Declare
* les Dll Automation (plus communément connues sous le nom d'ActiveX) sont elles directement issues du monde Windows ;
elles permettent d'exposer une interface IDispatch - les classes sont exposées dans la base de registre - l'un des avantages est la capacité à utiliser des procédures évènementales
=> elles sont appelées éventuellement suite à un référencement et une déclaration de type (cas d'utilisation de l'interface IDispatch)
ou en pointant vers la classe de la base de registre en utilisant CreateObject (cas d'utilisation de l'interface IUnknow) et en utilisant un container Object générique.
Toute la puissance de VB se trouve dans la simplicité de création et d'utilisation des Dll Automation - les utiliser dans un autre langage est une toute autre paire de manche ;
c'est la raison pour laquelle beaucoup pense que les Dll Automation sont des librairies spécifiquement écrites en VB alors qu'elles peuvent l'être dans n'importe quel language dès lors que l'interface est exposée dans le code.
Xll et Addin ne sont que des cas particuliers des types de librairies précitées.
ATPvbaxx est un Addin XL pas un type de librairie.
merci bcp!!