【问题标题】:Calling macro in java在java中调用宏
【发布时间】:2015-09-12 10:16:01
【问题描述】:

我是 Java 编程新手。

我想创建一个读取 .xls / .xlsx 文档、调用宏并保存文件的简单程序。我正在使用 org.apache.poi,除了调用宏之外,一切似乎都很好。我一直在论坛上寻找一些技巧,但一无所获。

宏是之前创建并保存的。我只是有很多文件,不想手动完成。

在 Java 中,我创建了一个工作簿,创建了一个工作表。如何调用宏来完成?我应该参考工作簿还是工作表本身?

提前致谢!

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    有几种方法可以实现这一点:

    • 通过 ProcessBuilder 启动 Excel 并让 Excel 运行宏并保存文件。要运行宏,您可能需要添加一点 VBA(例如在 AutoOpen Sub 中)。
    • 还有从 Excel 调用 Java 的工具(ObbaXLLoop)。您可以调用 Java 表单 VBA,然后调用宏,然后保存文件。

    【讨论】:

    • 为了让 Excel 执行宏,这假设您在运行代码的机器上有 Excel。如果这是在基于服务器的环境中运行,请记住 Microsoft 自己不建议在服务器上使用 Office 自动化support.microsoft.com/kb/257757
    【解决方案2】:

    目前这是不可能的。 POI 是一个用于读取/编辑 Office 文件的库。它将保留文件中存在的所有宏,但它没有内置解释器来运行宏。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-19
      • 2011-10-04
      • 1970-01-01
      • 1970-01-01
      • 2017-08-14
      • 2015-09-26
      • 1970-01-01
      相关资源
      最近更新 更多