コンテンツにスキップ

セル操作

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

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

単一セルにフォーカスする


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

# 対象セルを指定します(前処理)
$target_cell = 'B2'

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

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

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

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

# 対象セルにフォーカスします
$Sheet.Range($target_cell).Activate()

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

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

複数セルにフォーカスする


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

# 対象セルを指定します(前処理)
$start_cell = 'B2'
$finish_cell = 'E5'

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

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

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

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

# 対象セル群にフォーカスします
$Sheet.Range($start_cell, $finish_cell).Activate()

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

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

単一セルに追記


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

# 対象セルを指定します(前処理)
$target_cell = 'B2'

# 入力文字列を指定します(前処理)
$input_text = 'test'

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

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

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

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

# 対象セルに入力します
$Sheet.Range($target_cell).Value() = $input_text

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

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

複数セルに追記


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

# 対象セルを指定します(前処理)
$start_cell = 'B2'
$finish_cell = 'E5'

# 入力文字列を指定します(前処理)
$input_text = 'test'

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

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

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

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

# 対象セル群に入力します
$Sheet.Range($start_cell, $finish_cell).Value() = $input_text

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

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

単一セルにコピー


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

# コピー元のセルを指定します(前処理)
$src_cell = 'B2'

# コピー先のセルを指定します(前処理)
$dest_cell = 'D4'

# 入力文字列を指定します(前処理)
$input_text = 'test'

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

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

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

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

# 対象セルに入力します(前処理)
$Sheet.Range($src_cell).Value() = $input_text

# 対象セルをコピーします
$Sheet.Range($src_cell).copy($sheet.Range($dest_cell))

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

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

複数セルにコピー


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

# コピー元のセルを指定します(前処理)
$src_start_cell = 'B2'
$src_finish_cell = 'D4'

# コピー先の起点セルを指定します(前処理)
$dest_cell = 'E5'

# 入力文字列を指定します(前処理)
$input_text = 'test'

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

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

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

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

# 対象セル群に入力します(前処理)
$Sheet.Range($src_start_cell, $src_finish_cell).Value() = $input_text

# 対象セル群をコピーします
$Sheet.Range($src_start_cell, $src_finish_cell).copy($sheet.Range($dest_cell))

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

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

単一セルを削除


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

# 対象セルを指定します(前処理)
$target_cell = 'B2'

# 入力文字列を指定します(前処理)
$input_text = 'test'

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

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

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

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

# 対象セルに入力します(前処理)
$Sheet.Range($target_cell).Value() = $input_text

# 対象セルを削除します
$Sheet.Range($target_cell).Clear()

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

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

複数セルを削除


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

# 対象セルを指定します(前処理)
$start_cell = 'B2'
$finish_cell = 'E5'

# 入力文字列を指定します(前処理)
$input_text = 'test'

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

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

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

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

# 対象セル群に入力します(前処理)
$Sheet.Range($start_cell, $finish_cell).Value() = $input_text

# 対象セル群を削除します
$Sheet.Range($start_cell, $finish_cell).Clear()

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

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