Ошибка при открытии 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();

0 ответов

Другие вопросы по тегам