[FAQ CENTER トップ]
[Powershell FAQ トップへ]


スポンサード リンク



【Powershell】Excelで $book.SaveAsで確認なしに上書きする方法


スポンサード リンク


現象



$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




スポンサード リンク


(*)本ページは 5.1以後を想定しています。

最終更新日:2018/08/11

[Powershell FAQ トップへ]
[FAQ CENTER トップ]


本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。) Copyright(c) tooljp.com 2007-2018