VB.NET DLL « composant ActiveX ne peut pas créer un objet »

voix
1

Je cherche à créer une DLL dans VB.NET avec Visual Studio 2017. La DLL sera utilisé dans VBA dans une autre application. Le projet VB.NET est un projet de classe .NET Framework Library.

J'ai ajouté le fichier * .TLB comme référence dans VBA. J'essaie seulement de créer et d'utiliser une méthode dans la bibliothèque de classe. J'appelle en VBA en utilisant quelque chose de semblable à ce qui suit:

Sub MySub()
    Dim TestObj As MyProjectName.MyClassName
    Set TestObj = New MyProjectName.MyClassName
    Call TestObj.MyMethodName(Argument)
End Sub

Le code lance toujours Runtime Error 429 « composant ActiveX ne peut pas créer un objet » sur la ligne suivante (de l'exemple ci-dessus):

Set TestObj = New MyProjectName.MyClassName

Cette question a été posée, mais la plupart d'entre eux sont assez vieux (~ 10 ans) et aucune des solutions proposées ont fait une différence. Je continue à trouver des références à RegAsm.exe. Je crois comprendre qui gère cela automatiquement et appeler c'est manuellement pas nécessaire lorsque le Visual Studio « Projet> Propriétés> Compile> Inscrivez-vous pour COM Interop » case est cochée.

J'ai suivi ces instructions à la lettre: https://smallbusiness.chron.com/use-net-class-library-excel-vba-40349.html

En outre , j'ai essayé de créer une classe COM à la place par la réponse à la question suivante: composant ActiveX ne peut pas créer un objet lors de l' utilisation de classe .net dans vba

J'ai essayé au moins une demi-douzaine différentes itérations de cela et ils donnent tous Runtime Error 429 « composant ActiveX ne peut pas créer un objet ». Y at-il quelque chose que je manque ici? Se pourrait-il être un problème de version en quelque sorte? Mon projet VS cible .NET Framework 4.7.2.

Créé 19/12/2018 à 14:07
source utilisateur
Dans d'autres langues...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more