Ich habe ein paar Beiträge dazu gesehen, aber bisher habe ich keine Lösungen gesehen. Ich habe eine JAR-Datei, die ich über IKVM in eine .NET DLL konvertiere. Ich versuche herauszufinden, wie die Methoden in der DLL in der Excel-VBA-Umgebung verfügbar gemacht werden. Hier sind die Details.Wie mache ich eine .dll erstellt mit IKVM com sichtbar?
1.) installiert IKVM & registriert es DLL zu GAC
2.) lief IKVM die eine .net DLL (mytest.dll erstellen)
ikvmc mytest.jar
3.) registriert den neuen .dll
regasm mytest.dll
4.) Von hier aus habe ich ein VB.NET-Projekt und die hinzugefügt mytest.dll und IKVM.OpenJDK.Core.dll als Verweis auf das Projekt. Ich bin dann in der Lage, auf die Methoden innerhalb der .dll in .NET zuzugreifen. Das ist toll!
5.) was ich wirklich tun möchte, ist in der Lage, die .dll in VBA auch zu verwenden. Anfangs akzeptiert VBA die .dll-Datei nicht direkt, da es sich um eine .net-Bibliothek handelt. Ich habe versucht, eine Typenbibliothek zu erstellen:
regasm /codebase /tlb mytest.dll
Diese eine TLB-Datei erstellt, das ist schön, aber es hat nicht stark benannt wird eine Warnung über die Bibliothek werfen.
6.) dann habe ich die .tlb als Referenz in meinem VBA-Editor geladen. Das funktioniert, aber wenn ich versuche, auf die Methoden zuzugreifen, wird nichts angezeigt. Ähnlich kann ich, wenn ich in der Objektanzeige für meine Bibliothek nachschaue, meine zwei Klassen sehen, aber nicht die Mitglieder dieser Klassen.
Zusätzlich stelle ich mir vor, dass ich wahrscheinlich auch irgendwie die IKVM.OpenJDK.Core.dll in VBA verweisen muss. Das kann ich aber auch nicht, da es sich um eine .NET-DLL handelt.
Hat jemand Erfolg beim Konvertieren einer .jar-Datei in etwas, das mit VBA verwendet werden kann?
Das hat total funktioniert. Vielen Dank für Ihre Antwort! – user2088580