Я пытаюсь автоматизировать обновление данных в моих отчетах Excel. Вот сценарий:
$ExcelApp = new-object -ComObject Excel.Application
$ExcelApp.Visible = $false
$ExcelApp.DisplayAlerts = $false
$Workbook = $ExcelApp.Workbooks.Open("RefreshTest.xlsx", 3, $false, 5, $null, $null, $true)
$Workbook.RefreshAll()
$Workbook.Save()
$ExcelApp.Quit()
Сценарий в порядке, но когда я пытаюсь запустить его напрямую, он показывает мне следующую ошибку:
Method invocation failed because [System.__ComObject] doesn't contain a method named 'Save'.
At line:7 char:15
+ $Workbook.Save <<<< ()
+ CategoryInfo : InvalidOperation: (Save:String) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound
Любопытно, что если я запускаю только верхнюю часть скрипта (до метода Save), а затем вызываю метод Save, он работает нормально.
Не могли бы вы мне помочь? Он был протестирован на PowerShell V1 и PowerShell V2 (биты, установленные с Win7 Beta).
С уважением,
Рафа