Et à l'étendre sur l'enregistrement de la DLL sur des ordinateurs différents.
Une fois que vous compiler et générer le code ci-dessus sur votre machine de développement, si vous avez
Les propriétés du projet Construire onglet, sélectionnez Enregistrer pour COM interop.
votre sortie de Visual Studio dossier (généralement bin\Debug) où l'compilé *.dll est trouvée aura également un *.fichier tlb.
Ce *.fichier tlb est un "Type " Bibliothèque". Et il est requis par la machine client pour comprendre les différents "Types" dans votre *.dll et pour dire à l'ordinateur client comment l'utiliser.
Par la mise en au dessus de "s'Inscrire pour COM interop' -- aswell comme un *.fichier tlb, l'assemblée(dll) est inscrit sur votre machine, et est donc accessible.
Dans VBA, vous pouvez maintenant ajouter ce fichier comme une référence par
L'Éditeur VBA -> Outils -> Références -> Parcourir -> Sélectionnez
cela vous permettra de déclarer les classes trouvées dans votre bibliothèque.
Dim TestClass As Test
Set TestClass = New Test
MsgBox TestClass.HelloWorld
CEPENDANT - si vous voulez utiliser votre dll sur un autre ordinateur client, vous devrez utiliser regasm.exe - pour vous inscrire à l'assemblée(dll) sur cette machine.
Cela peut être fait par la ligne de commande,
regasm.exe
dans ce cas
regasm.exe TestDll.dll
une fois que vous avez enregistré à l'assemblée sur la nouvelle machine de client, vous serez en mesure d'y accéder une fois de plus l'ajout d'une référence à ses *.tlb
Espérons que cette aide!