現象
$book.SaveAsで新規に作成したファイルをファイル名を使用して上書きする場合、警告を非表示にする方法を紹介します。
以下の場合、c:\temp\test.xlsxでsave使用とすると Excel画面で上書きの確認がされてしまいます。
#Excel を起動
$excel = New-Object -ComObject Excel.Application
$excel.Visible = $true
$excel.DisplayAlerts = $true
#Workbookを追加
$book = $excel.Workbooks.Add()
#追加されたsheetを取得
$sheet = $book.Sheets("Sheet1")
#値を設定
$sheet.Cells.Item(1, 1) = 1
#ファイルを保存
$book.SaveAs("c:\temp\test.xlsx")
#Excelを終了
$excel.Quit()
#プロセスを終了。これを実行しないと Excel.exe が残存してしまう。
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($excel)
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($sheet)
対処
以下の行をSaveAsの前に追記します。これで上書き確認はされません。
$excel.DisplayAlerts = $FALSE