У меня есть книга Excel с некоторым кодом VBA, в которой используется функция PISampDat надстройки OSIsoft DataLink для извлечения нескольких столбцов данных.Рабочая книга запускается из пакетного файла, который, в свою очередь, запускается запланированной задачей Windows.Если я запускаю книгу или командный файл вручную, он работает как положено, но если я использую запланированное задание, я получаю следующую ошибку:
1004: не удается запустить макрос «PISampDat».Макрос может быть недоступен в этой книге или все макросы могут быть отключены.
«PISampDat» - это не макрос, а имя функции в надстройке.Код выглядит следующим образом:
ThisWorkbook.Sheets(SheetName).Range(Cells(5, PTTagNamesCol), Cells(RangeRowCount, PTTagNamesCol)) = Application.Run("PISampDat", TagName, EDate, SDate, "5m", 0, PiServer)
Похоже, что при выполнении запланированной задачи Excel не загружает надстройку DataLink и поэтому не распознает имя функции.
Дополнительные сведения:
- Запланированная задача, выполняемая от имени пользователя-администратора, которая разрешает доступ ко всем задействованным файлам и папкам
- Выбрана опция «Запускать, вошел ли пользователь в систему»
- Выбран параметр «Запуск с наивысшими привилегиями»
- Настроен для Windows Server 2012 R2
- Параметр «Программа / сценарий» содержит только имя пакетного файла
- «Запускать (необязательно)) опция содержит только путь к пакетному файлу
Есть идеи, как решить эту проблему?