【发布时间】:2011-07-29 15:31:23
【问题描述】:
我希望能够在 Excel VBA 工作表中执行 Java 项目中的代码。在 SO 的其他地方,我发现了 IKVM,它是 Java 的 .NET 实现,允许将 .jar 转换为 .dll。我希望这可以让我从 VBA 编辑器中的 .jar 访问类/方法,但我在这样做时遇到了麻烦。
我曾尝试在 VBA 中使用 declare 语句(在许多不同的排列中,试图使其工作),但最常见的错误是指 .DLL 中的入口点。
我也尝试将 .DLL 注册为 Excel 中的引用,但它给出了样板错误并且没有注册它。
作为参考,我一直在使用以下类对其进行测试,然后才费心用整个项目对其进行测试:
public class IKVMTest {
public static void print(String s) {
System.out.println(s);
}
}
这个类由Eclipse编译并导出到IKVMTest.jar中。此时我使用ikvmc -target:library IKVMTest.jar接收IKVMTest.dll。为简单起见,这个 .dll 和我正在测试的 Excel 工作表被转储到 IKVM bin 文件夹中(因为 IKVM .dll 文件有一些依赖项)。
如果我可以让它在这个示例测试中工作,我可以让它在整个项目中工作。
【问题讨论】:
-
我在这里发布了一个例子:stackoverflow.com/questions/14967080/…