2016-12-21 2 views
0

Мой запрос, как я называю различные UDF (определяемые пользователем функции) AutoIt в Java с помощью COM (объектной модели компонентов) так же, как образец код, указанный ниже:как я могу назвать AutoIt UDF в Java

несколько например:

File file = new File("lib" , "jacob-1.18-x64.dll"); 
System.setProperty(LibraryLoader.JACOB_DLL_PATH, file.getAbsolutePath()); 

AutoItX x = new AutoItX(); 
x.run("calc.exe"); 
x.winActivate("Calculator"); 
x.winWaitActive("Calculator"); 
//Enter 3 
x.controlClick("Calculator", "", "133") ; 
Thread.sleep(1000); 
//Enter + 
x.controlClick("Calculator", "", "93") ; 
Thread.sleep(1000); 
//Enter 3 
x.controlClick("Calculator", "", "133") ; 
Thread.sleep(1000); 
//Enter = 
x.controlClick("Calculator", "", "121") ; 
+0

Что и нужно делать? вы можете избежать этого? –

+0

Мне нужно открыть Excel, обновить и проверить несколько ячеек, а затем сохранить его. Я не могу этого избежать. – Alok

+0

нет необходимости в аудите. использовать apache poi или что-то подобное делать с помощью java – XtremeBaumer

ответ

1

Вы не можете использовать существующий код AutoIt, используя AutoItX. У вас есть два варианта, если вы хотите использовать AutoIt:

  1. Компиляция скрипт AutoIt, который делает то, что вы хотите, и вызывать его из вашей программы Java.

  2. Преобразование UDF в Java/AutoItX

+0

Спасибо. ** Варианты 1 ** - это одно из возможных решений, но оно не дает достаточной гибкости. ** Вариант 2 ** - Это тот, который я ищу. Можете ли вы помочь мне преобразовать UDF в Java/AutoITx. – Alok

+0

Это не простой вариант. Откройте UDF и начните переопределять нужные вам биты. Исполняемые файлы AutoIT могут использоваться для выполнения любого сценария автоматической записи, поэтому вы всегда можете сгенерировать сценарий, который вам нужен, с помощью Java, а затем выполнить его. – Richard

+0

Спасибо. не могли бы вы кратко указать шаги (а не фактический код) конвертации UDF в java/AutoITx. Поскольку я новичок в DLL и COM-интерфейсе. – Alok

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

  • Нет связанных вопросов^_^