【问题标题】:Launch JAR from vba script with JOptionPane使用 JOptionPane 从 vba 脚本启动 JAR
【发布时间】:2013-09-20 06:48:17
【问题描述】:

使用shell(...)从 VBA 脚本启动可执行 JAR 是否有任何限制

我的 jar 有效地从 VBA 脚本中获取一些 ID 作为启动参数,从 Web 服务中查询值并使用 JOptionPane.ShowMessageDialog 显示它们

这是我的代码:

private static JFrame quotenframe = new JFrame();
public static void main(String args[]){
    if(args.length < 3){
        JOptionPane.showMessageDialog(quotenframe, "Not enough parameters!", "Error", JOptionPane.ERROR_MESSAGE);
        closeAll(1);
    }

    if(args[0].split("@").length<2){
        JOptionPane.showMessageDialog(quotenframe, "Invalid value! '@' missing", "Error", JOptionPane.ERROR_MESSAGE);
        closeAll(1);
    }
    String var1 = args[0].split("@")[0];
    String var2 = args[0].split("@")[1];
    String var3 = args[1];
    String var4 = args[2];

    String result = "";
    // Build resultString

            JOptionPane.showMessageDialog(quotenframe, result);

    closeAll(0);
}

当从 windows cmd shell 启动时,JAR 本身的执行没有问题,但是当从我的 VBA 脚本中的 Shell(...) 命令运行相同的命令行时,唯一的反应是一个 java 图标在瞬间可见任务栏,然后消失。

我的命令是: java -jar jarFolder\myjar.jar param1 param2 param3

并且执行目录是jarFolder之上的一层。

在我看来,JAR 在启动时会崩溃,但是,我不明白为什么在同一个目录中使用 Windows shell 中的相同命令启动的同一个 JAR 运行良好。

它和JOptionPane有什么关系吗?如果没有,知道错误可能是什么吗?

【问题讨论】:

  • 您发出的命令行命令是什么?您使用的确切 VBA 命令是什么?
  • @SiddharthRout 已编辑以包含该命令。谢谢
  • 只是shell("java -jar jarFolder\myjar.jar param1 param2 param3")
  • 如果您的文件夹路径有空格,那么您必须用双引号填充它...
  • 谢谢,但我查过了。它不包含空格。

标签: java vba jar cmd


【解决方案1】:

解决方案是,如果 JAR 在子文件夹中,则在使用 VBA 的 Shell(...) 命令调用它时,您需要指定 jar 的完整路径。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-23
    • 2013-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多