2017-05-25 123 views
1

以下是我想从我的java代码运行的我的vb脚本。我使用以下命令调用它 filePath =“D:\ myVBS.vbs”;无法从java代码运行宏

Runtime.getRuntime().exec(filePath); 

我看到下面的错误:java.io.IOException的:不能运行程序 “d:\ myVBS.vbs”:CreateProcess的错误= 193,%1不是有效的Win32应用

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意义上的可执行

那么我该如何运行它。

请帮忙!! 谢谢

+0

你可能运行的是32位JVM和64位Excel或圆形的方式? – assylias

+0

好的,我如何检查 – Mehek

+0

你可以手动运行脚本,即从命令行运行脚本吗? –

回答

0

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

例如,

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

执行上述语句我得到下面的错误:java.io.IOException:无法运行程序“c:\ windows \ wscript.exe”:CreateProcess错误= 2,系统找不到指定的文件。虽然我已经给出了正确的文件路径 – Mehek

+0

'c:\\ windows \\ wscript.exe'确实存在于那个位置吗?我只以此为例。 –

+1

谢谢史蒂夫..我更新了Fielpath C:\\ Windows \\ System32 \\ wscript.exe,它的工作原理! – Mehek