コンテンツにスキップ

保存など

エクセル操作(保存、印刷、閉じる)用のサンプルスクリプトとなります。

環境等の要因で動作しない場合もありますので下記スクリプトに関してはテスト環境などで動作を確認したのちご利用ください。

新規でファイル名をつけて保存する


# ファイルパスを指定します(前処理)
$file_path = 'C:\\test.xlsx'

# Excelオブジェクトを作成します(前処理)
$excel = New-Object -ComObject Excel.Application

# ウィンドウ表示設定をします(前処理)
$excel.Visible = $true

# 新規でワークブックを起動します(前処理)
$book = $excel.Workbooks.Add()

# ファイルを名前を付けて保存します
$book.SaveAs($file_path)

# Excelを終了します(後処理)
$excel.Quit()

# プロセスを解放します(後処理)
$excel = $null
[GC]::Collect()

上書き保存する


# ファイルパスを指定します(前処理)
$file_path = 'C:\\test.xlsx'

# Excelオブジェクトを作成します(前処理)
$excel = New-Object -ComObject Excel.Application

# ウィンドウ表示設定をします(前処理)
$excel.Visible = $true

# 対象のワークブックを起動します(前処理)
$book = $excel.Workbooks.Open($file_path)

# 対象ファイルを上書き保存します
$book.Save()

# Excelを終了します(後処理)
$excel.Quit()

# プロセスを解放します(後処理)
$excel = $null
[GC]::Collect()

対象シートを印刷する


# ファイルパスを指定します(前処理)
$file_path = 'C:\\test.xlsx'

# 対象シートを指定します(前処理)
$target_sheet = 'Sheet1'

# Excelオブジェクトを作成します(前処理)
$excel = New-Object -ComObject Excel.Application

# ウィンドウ表示設定をします(前処理)
$excel.Visible = $true

# 対象のワークブックを起動します(前処理)
$excel.Workbooks.Open($file_path)

# 対象シートを取得します(前処理)
$sheet = $excel.Worksheets.Item($target_sheet)

# 対象シートを印刷します
$sheet.PrintOut()

# Excelを終了します(後処理)
$excel.Quit()

# プロセスを解放します(後処理)
$excel = $null
[GC]::Collect()

ワークブックを閉じる


# Excelオブジェクトを作成します(前処理)
$excel = New-Object -ComObject Excel.Application

# ウィンドウ表示設定をします(前処理)
$excel.Visible = $true

# 新規でワークブックを起動します(前処理)
$excel.Workbooks.Add()

# 対象ファイルを閉じます
$excel.Quit()

# プロセスを解放します(後処理)
$excel = $null
[GC]::Collect()