2017-05-25 148 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