VB.NET DLL „ActiveX-Komponente kann Objekt nicht erstellen“

stimmen
1

Ich bin versucht, eine DLL in VB.NET mit Visual Studio 2017. Die DLL in VBA in einer anderen Anwendung verwendet werden zu erstellen. Das VB.NET-Projekt ist ein .NET Framework-Klassenbibliothek Projekt.

Ich habe die * TLB-Datei als Referenz in VBA hinzugefügt. Ich versuche nur zu schaffen und ein Verfahren in der Klassenbibliothek zu verwenden. Ich nenne es in VBA etwas ähnlich der folgenden verwenden:

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

Der Code führt immer Runtime Error 429 „ActiveX-Komponente kann Objekt nicht erstellen“ auf der folgenden Zeile (aus dem obigen Beispiel):

Set TestObj = New MyProjectName.MyClassName

Diese Frage wurde vor gefragt, aber die meisten von ihnen schon recht alt sind (~ 10 Jahre) und keine der angebotenen Lösungen gemacht keinen Unterschied. Ich halte Verweise auf RegAsm.exe zu finden. Es ist mein Verständnis, dass Visual Studio diese automatisch verarbeitet und diese manuell aufrufen nicht notwendig ist, wenn das Kontrollkästchen aktiviert ist „Projekt> Eigenschaften> für COM-Interop Übersetzen> Register“.

Ich habe diese Anweisungen auf dem nachgestellten Buchstaben: https://smallbusiness.chron.com/use-net-class-library-excel-vba-40349.html

Außerdem habe ich versucht , eine COM - Klasse anstelle pro Antwort auf die folgende Frage zu erstellen: ActiveX - Komponente kann Objekt nicht erstellen , wenn .net Klasse in VBA

Ich habe zumindest versucht ein halbes Dutzend verschiedene Iterationen dieses und geben sie alle Runtime Error 429 „ActiveX-Komponente kann Objekt nicht erstellen“. Gibt es etwas, das ich hier fehlt? Könnte es irgendwie eine Version Problem sein? Mein VS-Projekt zielt auf .NET Framework 4.7.2.

Veröffentlicht am 19/12/2018 um 14:07
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
0

Nicht sicher, ob mein Problem das gleiche wie Ihr Problem ist, aber das ist, wie ich mein Problem behoben:

Ich denke, dass die zentrale Frage, mit dem, was ich tat, bin ich mit der dll wurde registriert:

C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ RegAsm.exe

Als ich sein sollte es mit der Registrierung:

C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ RegAsm.exe

Anders als das ich folgte diesem Stackoverflow Q / A:

Excel 2010 64 Bit kann nicht .net-Objekt erstellen

Beantwortet am 14/10/2019 um 07:41
quelle vom benutzer

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