Ошибка при открытии ExcelFile в запланированном задании
Я создал файл Jar, который должен бросить макрос VBA Excel. Для этого я использую jacob API, мой код для вызова:
final ActiveXComponent excel = new ActiveXComponent("Excel.Application");
try {
final Dispatch workbooks = excel.getProperty("Workbooks").toDispatch();
final Dispatch workBook = Dispatch.call(workbooks, "Open", file.getAbsolutePath()).toDispatch();
final Variant result = Dispatch.call(excel, "Run", new Variant("\'" + file.getName() + "\'" + macro));
com.jacob.com.Variant f = new com.jacob.com.Variant(true);
Dispatch.call(workBook, "Close", f);
} catch (Exception e) {
ReadExcel.errorLog(e.getMessage());
} finally {
excel.invoke("Quit", new Variant[0]);
ComThread.Release();
}
этот код работает нормально, когда я запускаю jar вручную, но при выполнении запланированного задания у меня появляется эта ошибка:
ОШИБКА - Вызов: Open Source: Microsoft Office Excel Описание: Microsoft Office Excel не может получить доступ к файлу "C:\Users\Me\Desktop\Project\ExcelWithMacro.xlsm". Есть несколько возможных причин:
- Имя файла или путь не существует.
- Файл используется другой программой.
- Книга, которую вы пытаетесь сохранить, имеет то же имя, что и текущая открытая книга.
Но файл существует, не используется другой программой и не открыт...
ошибка - бросить на строку:
final Dispatch workBook = Dispatch.call(workbooks, "Open", file.getAbsolutePath()).toDispatch();