У меня есть скрипт VB на сервере приложений для открытия .xlsm и запускаю функцию, которая выполняет следующие действия:
- Открытие файла Excel с подключением OLEDB
- Refre sh Соединение
- Сохранение и закрытие
При запуске вручную все работает как задумано. Однако при запуске в планировщике заданий от имени c пользователя, вошел ли он в систему или нет (с паролем и самой высокой привилегией, также обе папки находятся на сервере ).
Из моего простого метод ведения журнала, я могу сказать, что это происходит на шаге «Refre sh»
DisplayAlerts = False
wb.Worksheets("DateRanges").Range("B10").Value = "For Loop"
wb.Save
For Each objConnection In wb.Connections
'Get current background-refresh value
wb.Worksheets("DateRanges").Range("B10").Value = "Set Background"
wb.Save
bBackground = objConnection.OLEDBConnection.BackgroundQuery
wb.Worksheets("DateRanges").Range("B10").Value = "Turn Background Off"
wb.Save
'Temporarily disable background-refresh
objConnection.OLEDBConnection.BackgroundQuery = False
wb.Worksheets("DateRanges").Range("B10").Value = "Refresh"
wb.Save
'Refresh this connection
objConnection.OLEDBConnection.Refresh
wb.Worksheets("DateRanges").Range("B10").Value = "Turn Background On"
wb.Save
'Set background-refresh value back to original value
objConnection.OLEDBConnection.BackgroundQuery = bBackground
Next
В настройках источника данных, я использую учетные данные базы данных, и я передаю через UID / PWD через Строка подключения.
Буду очень признателен за любую помощь / совет, который вы все сможете дать.