У меня есть сценарий VB (myVB2.vbs), который в основном запускает макрос в excel и сохраняет excel. Вот мой VB скрипт (myVB2.vbs)Как передать несколько параметров в файл .vbs из Java
Dim objExcel, objWorkbook, filePath
Set filePath = Wscript.Arguments(0)
Set objExcel = CreateObject("Excel.Application")
'Set objWorkbook = objExcel.Workbooks.Open("C:\Writter\Excel.xlsm")
Set objWorkbook = objExcel.Workbooks.Open(filePath)
objExcel.Visible = True
objExcel.Run "ChartUpdate"
objWorkbook.Save
objExcel.Quit
Set objWorkbook = Nothing
Set objExcel = Nothing
WScript.Quit
Теперь мне нужно будет, чтобы вызвать этот .vbs файл из Java, передавая аргумент пути файла первенствовать в VBScript. С приведенным ниже фрагментом кода Java я не могу передать аргумент пути к файлу. Я получаю ошибку - Нет механизма сценария для расширения файла «.xlsm».
public static void main(String[] args) throws IOException {
String scriptpath = System.getProperty("user.dir") + "\\src\\com\\domain\\function\\resources\\myVB2.vbs";
String destinationlocation ="C:\\Writter\\Excel.xlsm" ;
Runtime rt = Runtime.getRuntime();
try {
Runtime.getRuntime().exec("wscript"+ scriptpath+" "+destinationlocation);
}
catch(IOException e) {
e.printStackTrace();
}
}
Похоже, вам может понадобиться пространство внутри 'String'? Попробуйте 'Runtime.getRuntimee(). Exec (" wscript "+ scriptpath +" "+ destinationlocation);' – Orin
Спасибо, Орин, ты был прав. И еще одна причина заключалась в том, что я дал набор для filepath. Как только я удалил набор для пути к файлу, он работал для меня. – Vinmee