【问题标题】:Unable to run macro from java code无法从 java 代码运行宏
【发布时间】:2017-05-25 09:33:03
【问题描述】:

下面是我想从我的 javacode 运行的 vb 脚本。我使用以下命令调用它 filePath = "D:\myVBS.vbs";

    Runtime.getRuntime().exec(filePath);

我看到以下错误:java.io.IOException: Cannot run program "D:\myVBS.vbs": CreateProcess error=193, %1 is not an valid Win32 application

Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("D:\easyAutomation2017\GoEasy\requiredSource\TestData1.xlsm")

objExcel.Application.Run "TestData1.xlsm!refreshXLS"
objExcel.ActiveWorkbook.Close

objExcel.Application.Quit
WScript.Quit

谷歌搜索后我明白这是问题所在:您不能直接在 Windows 上运行 shell 脚本,因为它在 Windows 意义上是不可执行的

那么我该如何运行它。

请帮忙!! 谢谢

【问题讨论】:

  • 您是在运行 32 位 JVM 和 64 位 Excel 还是其他方式?
  • 好的,我该如何检查
  • 您可以手动运行脚本吗,即从命令行运行?

标签: java vba excel


【解决方案1】:

要运行 vbs 脚本,您需要运行 Wscript.exe 并将 vbs 文件作为参数传递。

例如,

Runtime.getRuntime().exec(new String[]{"C:\\Windows\\System32\\wscript.exe", "D:\\myVBS.vbs"});

【讨论】:

  • 在执行上述语句时出现以下错误:java.io.IOException: Cannot run program "c:\windows\wscript.exe": CreateProcess error=2, The system cannot find the file specified .虽然我给出了正确的文件路径
  • c:\\windows\\wscript.exe 肯定存在于那个位置吗?我只是举个例子。
  • 感谢 steve.. 我更新了文件路径 C:\\Windows\\System32\\wscript.exe,它可以工作了!!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-04
  • 2013-12-05
相关资源
最近更新 更多