我已经看到了一些关于此的帖子,但到目前为止我还没有看到任何解决方案。我有一个 .jar 文件,我正在通过IKVM将其转换为 .NET DLL 。我试图弄清楚如何使 DLL 中的方法在 excel VBA 环境中可用。这是详细信息。
1.) 安装 IKVM 并将其 DLL 注册到 GAC
2.) 运行 IKVM 创建一个 .net .dll (mytest.dll)
ikvmc mytest.jar
3.) 注册新的.dll
regasm mytest.dll
4.) 从这里我创建了一个 VB.NET 项目并添加了 mytest.dll 和 IKVM.OpenJDK.Core.dll 作为对项目的引用。然后我可以访问 .NET 中的 .dll 中的方法。这很棒!
5.) 我真正想做的是能够在 VBA 中使用 .dll。最初 vba 不会直接接受 .dll,因为它是一个 .net 库。我试图创建一个类型库:
regasm /codebase /tlb mytest.dll
这创建了一个很好的 .tlb 文件,但它确实引发了关于库没有被强命名的警告。
6.) 然后我在我的 vba 编辑器中加载了 .tlb 作为参考。这可行,但是当我尝试访问这些方法时,什么也没有出现。同样,如果我在对象查看器中查看我的库,我可以看到我的两个类,但看不到这些类的成员。
此外,我想我可能还需要以某种方式在 VBA 中引用 IKVM.OpenJDK.Core.dll。但是我也不能这样做,因为它是一个 .NET .dll。
有没有人成功地将 .jar 文件转换为可用于 VBA 的文件?