2013-09-20 2 views
0

Существуют ли какие-либо ограничения в запуске исполняемого JAR из сценария VBA с использованием shell(...)Запуск JAR из Vba сценария с JOptionPane

Моя баночка effectivly получает некоторые идентификаторы из сценария VBA в качестве аргументов запуска, запрашивает значения из веб-службы и отображает их с помощью JOptionPane.ShowMessageDialog

Вот мой код:

private static JFrame quotenframe = new JFrame(); 
public static void main(String args[]){ 
    if(args.length < 3){ 
     JOptionPane.showMessageDialog(quotenframe, "Not enough parameters!", "Error", JOptionPane.ERROR_MESSAGE); 
     closeAll(1); 
    } 

    if(args[0].split("@").length<2){ 
     JOptionPane.showMessageDialog(quotenframe, "Invalid value! '@' missing", "Error", JOptionPane.ERROR_MESSAGE); 
     closeAll(1); 
    } 
    String var1 = args[0].split("@")[0]; 
    String var2 = args[0].split("@")[1]; 
    String var3 = args[1]; 
    String var4 = args[2]; 

    String result = ""; 
    // Build resultString 

      JOptionPane.showMessageDialog(quotenframe, result); 

    closeAll(0); 
} 

Архиватору itselfs выполняет без проблем, когда запущен из окна CMD Shell, но когда та же командная строка запускается из команда Shell(...) в моем скрипте VBA, единственная реакция - значок java, видимый в течение секунды секунды в панели задач, который затем исчезает.

Моя команда: java -jar jarFolder\myjar.jar param1 param2 param3

и каталог исполнение один уровень наверх jarFolder.

Мне кажется, что JAR падает при запуске, но я не понимаю, почему, поскольку тот же JAR в том же каталоге, запущенном с той же командой из оболочки Windows, хорошо работает.

Может ли это иметь какое-либо отношение к JOptionPane? Если нет, то какая идея может быть ошибкой?

+0

Что такое команда commanline, которую вы выдаете, и что такое точная команда VBA, которую вы используете? –

+0

@SiddharthRout Отредактировано для включения команды. Спасибо – LuigiEdlCarno

+0

и код VBA? –

ответ

0

Решение состоит в том, что вам необходимо указать полный путь к банке при вызове с помощью команды VBA Shell(...), если JAR находится в подпапке.

Смежные вопросы