Excel не загружает COM-надстройку при запланированной задаче Excel - PullRequest
2 голосов
/ 04 мая 2020

Случай: я использую планировщик задач, который открывает Excel и макрос выполняется на Workbook_Open. Макрос использует COM-надстройку.

Проблема: при запуске из планировщика заданий возникает ошибка, что dll надстройки не найден, а надстройка отсутствует на ленте. Через несколько секунд после принятия ошибки надстройка появляется на ленте.

Когда Excel запускается вручную, он работает нормально.

Я перепробовал много вариантов, но ни один из них не заставляет надстройку появляться на ленте перед выполнением любого кода.

Если кто-то может помочь с этим, я буду благодарен.

Private Sub Workbook_Open()
    Set m_syncMgr = CreateSynchronizationMgr
    Application.Run "PLLoginEventHandler"

    On Error GoTo ErrHandler

    Call TaskGFS

Это код на Workbook_Open, CreateSynchronizationMgr - это функция который создает объект из dll надстройки.

Вопрос заключается в том, как загрузить надстройки COM перед выполнением любого кода при запуске Excel из диспетчера задач.

...