VB.NET DLL "componente ActiveX não pode criar objeto"

votos
1

Eu estou tentando criar uma DLL em VB.NET usando o Visual Studio 2017. A DLL será usado em VBA em outra aplicação. O projeto VB.NET é um projeto Biblioteca de classes .NET Framework.

Eu adicionei o arquivo * .TLB como referência no VBA. Eu só estou tentando criar e usar um método na biblioteca de classes. Eu estou chamando-o em VBA usando algo semelhante ao seguinte:

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

O código de erro de tempo de execução sempre lança 429 componente ActiveX não é possível criar o objecto na linha a seguir (a partir do exemplo acima):

Set TestObj = New MyProjectName.MyClassName

Esta pergunta foi feita antes, no entanto a maioria deles são bastante antiga (~ 10 anos) e nenhuma das soluções oferecidas feito qualquer diferença. I manter encontrar referências a Regasm.exe. É meu entendimento que o Visual Studio lida com isso automaticamente e que chamar isso manualmente não é necessário quando o Projeto> Propriedades> Compilar> Registrar para interoperabilidade COM caixa de seleção está marcada.

Eu segui as instruções ao pé da letra: https://smallbusiness.chron.com/use-net-class-library-excel-vba-40349.html

Além disso, eu tentei criar uma classe COM vez pela resposta para a seguinte pergunta: O componente ActiveX não consegue criar o objeto ao usar classes .NET em VBA

Eu tentei, pelo menos meia dúzia de diferentes iterações deste e todos eles dão Runtime Error 429 componente ActiveX não pode criar objeto. Existe algo que eu estou ausente aqui? Poderia ser um problema de versão de alguma forma? Meu projeto VS tem como alvo .NET Framework 4.7.2.

Publicado 19/12/2018 em 14:07
fonte usuário
Em outras línguas...                            

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