2017-05-25 2 views
1

Unten ist mein Vb-Skript, das ich von meinem Java-Code ausführen möchte. Ich rufe es mit dem folgenden Befehl filePath = "D: \ myVBS.vbs";Konnte kein Makro von Java-Code ausführen

Runtime.getRuntime().exec(filePath); 

i siehe unten Fehler: java.io.IOException: Kann nicht Programm ausführen "D: \ myVBS.vbs": Create error = 193% 1 ist keine gültige Win32-Anwendung

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

Nach googeln habe ich verstanden, dass dies das Problem ist: Sie können nicht einen Shell-Skript unter Windows laufen direkt als es keine ausführbare Datei im Sinne Windows ist

Also wie mache ich es.

Bitte helfen Sie !! Danke

+0

Sind Sie vielleicht ein JVM 32-Bit-Betrieb und einen 64-Bit-Excel oder umgekehrt? – assylias

+0

Ok, wie überprüfe ich, dass – Mehek

+0

Können Sie das Skript manuell ausführen, d. H. Von der Befehlszeile? –

Antwort

0

Um ein VBS-Skript auszuführen, müssen Sie Wscript.exe ausführen und die VBS-Datei als Parameter übergeben.

Zum Beispiel

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

beim Ausführen der obigen Anweisung habe ich unter Fehler: java.io.IOException: Kann Programm "c: \ windows \ wscript.exe" nicht ausführen: CreateProcess Fehler = 2, Das System kann die angegebene Datei nicht finden. Obwohl ich den richtigen Dateipfad angegeben habe – Mehek

+0

Ist 'c: \\ windows \\ wscript.exe' definitiv dort vorhanden? Ich gebe das nur als Beispiel an. –

+1

Danke steve .. Ich aktualisierte den Feldpfad C: \\ Windows \\ System32 \\ wscript.exe und es funktioniert !!!! – Mehek

Verwandte Themen