コンテンツにスキップ

シート操作

エクセル操作(シート操作)用のサンプルスクリプトとなります。

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

フォーカスする


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

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

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

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

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

# 対象シートにフォーカスします
$sheet.Activate()

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

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

シートの追加


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

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

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

# シートを追加します
$book.Worksheets.Add()

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

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

シートのコピー


# コピー元のシートを指定します(前処理)
$src_sheet = 'Sheet1'

# コピー先のシート位置を指定します(前処理)
$dest_sheet = 'Sheet1'

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

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

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

# シートをコピーします
$book.Worksheets.item($src_sheet).copy($book.Worksheets.item($dest_sheet))

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

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

シートの削除


# 削除したいシートを指定します(前処理)
$target_sheet = 'Sheet1'

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

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

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

# シートを追加します(前処理)
$book.Worksheets.Add()

# シートを削除します
$book.WorkSheets.item($target_sheet).delete()

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

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