【发布时间】:2011-10-13 14:21:47
【问题描述】:
我有一个包含大量 VBA 代码的 Excel 文件。当在 Excel 中打开文档时,有 4 个不带参数的公共子例程可以由用户调用,这些子例程根据需要处理各种工作表中的数据。我们有一个大型 Java 应用程序,我们希望通过从 Java 环境调用宏来与此文档进行交互。关键是我们只需要编写一次 VBA 代码,然后 Java 就可以调用它来执行。此外,我们想假设 Java 应用程序的用户不一定能够立即访问 Excel,而是在 Windows 机器上操作。应该怎么做呢?
我们是否将 VBA 代码编译成 DLL,然后在 Java 中调用它?您如何编译 DLL,是否需要使用 Visual Studio?我们如何从 Java 中调用 DLL?我们应该尝试某种 COM 对象吗?
【问题讨论】:
-
澄清一下,它是一个本地(客户端)Java 应用程序?
-
是的,Excel文档是Java程序本地的,Java程序完全是客户端的。
-
VBScript 和 VBA 不是一回事,所以我不敢说这是最终的解决方案。此外,它还要求用户在他们的机器上安装 Excel。这是我们很灵活的事情,但宁愿不需要它。是否可以在不在客户端计算机上安装 Office 套件的情况下做到这一点?我们可以使用它来创建 DLL,但宁愿不强制使用它。
-
所以你的数据在Excel中,你想在文档中调用Excel宏来处理数据,但是你不想要求在客户端安装Excel。我看不出它是如何工作的:即使你已经知道如何从 Java 调用 VBA,如果没有 Excel,那似乎有点障碍......
标签: java vba dll netbeans excel