Случай: я использую планировщик задач, который открывает 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 из диспетчера задач.