PowerShell и Excel проблема при автоматизации
Я столкнулся с любопытной проблемой.
Когда я запустил этот код:
$Excel = New-Object -Com Excel.Application
$book = $Excel.Workbooks.Add()
[threading.thread]::CurrentThread.CurrentCulture = 'en-US'
sleep 10
$book.saveas("c:\Temp\test.xlsx")
$Excel.quit()
Stop-Process -Name "Excel*"
в PowerGui, хосте POwerSHell.. где-нибудь, это работает красиво.
Если я положу в.bat и вызову powerhsell "c:\temp\excel.ps1" тоже работает нормально.
Но если я попытаюсь запланировать этого парня в задачу расписания или выполнить тип задания cmd сервера, то произойдет ошибка:
Исключение сообщения, вызывающее "SaveAs" с аргументом (ами) "1": "Не удалось выполнить метод SaveAs в Workbook cla s"
Только когда он вызывается заданиями SQL Server (это тоже простая команда cmd и строка совпадает с.bat powerhsell "c:\temp\excel.ps1"), возникает ошибка.
Что это может быть? Я пытался изменить формат файла и т. Д. И ничего
Спасибо, парни:)
1 ответ
Решение:
Вы должны создать папку (или две на 64-битных окнах):
(32Bit, всегда)
C: \ Windows \ System32 \ Config \ systemprofile \ Dektop
(64Bit)
C: \ Windows \ SysWOW64 \ Config\systemprofile\Desktop
Решение в форуме: