コンテンツにスキップ

行列操作

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

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

行にフォーカスする


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

# 対象の行番号を指定します(前処理)
$target_row = 5

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

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

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

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

# 対象行にフォーカスします
$Sheet.Rows.Item($target_row).Activate()

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

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

列にフォーカスする


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

# 対象の行番号を指定します(前処理)
$target_column = 5

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

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

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

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

# 対象列にフォーカスします
$Sheet.Columns.Item($target_column).Activate()

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

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

行に値を追加する


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

# 対象の行番号を指定します(前処理)
$target_row = 5

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

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

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

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

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

# 対象行に値を追加します
$Sheet.Rows.Item($target_row).Value() = $input_text

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

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

列に値を追加する


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

# 対象の列番号を指定します(前処理)
$target_column = 5

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

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

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

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

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

# 対象列に値を追加します
$Sheet.Columns.Item($target_column).Value() = $input_text

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

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

行を追加する


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

# 対象の行番号を指定します(前処理)
$target_row = 5

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

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

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

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

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

# 対象行に値を追加します(前処理)
$Sheet.Rows.Item($target_row).Value() = $input_text

# 行を追加します
$Sheet.Rows.Item($target_row).Insert()

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

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

列を追加する


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

# 対象の列番号を指定します(前処理)
$target_column = 5

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

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

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

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

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

# 対象列に値を追加します(前処理)
$Sheet.Columns.Item($target_column).Value() = $input_text

# 列を追加します
$Sheet.Columns.Item($target_column).Insert()

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

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

行をコピーする


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

# コピー元の行番号を指定します(前処理)
$src_row = 5

# コピー先の行番号を指定します(前処理)
$dest_row = 10

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

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

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

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

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

# 対象行に値を追加します(前処理)
$Sheet.Rows.Item($src_row).Value() = $input_text

# 対象行をコピーします
$Sheet.Rows.Item($src_row).copy($Sheet.Rows.Item($dest_row))

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

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

列をコピーする


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

# コピー元の列番号を指定します(前処理)
$src_column = 5

# コピー先の列番号を指定します(前処理)
$dest_column = 10

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

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

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

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

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

# 対象列に値を追加します(前処理)
$Sheet.Columns.Item($src_column).Value() = $input_text

# 対象列をコピーします
$Sheet.Columns.Item($src_column).copy($Sheet.Columns.Item($dest_column))

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

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

列の値を削除する


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

# 対象の行番号を指定します(前処理)
$target_row = 5

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

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

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

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

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

# 対象行に値を追加します(前処理)
$Sheet.Rows.Item($target_row).Value() = $input_text

# 対象列の値を削除します
$Sheet.Rows.Item($target_row).Clear()

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

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

列の値を削除する


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

# 対象の列番号を指定します(前処理)
$target_column = 5

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

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

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

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

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

# 対象列に値を追加します(前処理)
$Sheet.Columns.Item($target_column).Value() = $input_text

# 対象列の値を削除します
$Sheet.Columns.Item($target_column).Clear()

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

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

行を削除する


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

# 対象の行番号を指定します(前処理)
$target_row = 5

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

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

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

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

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

# 対象行に値を追加します(前処理)
$Sheet.Rows.Item($target_row).Value() = $input_text

# 対象行を削除します
$Sheet.Rows.Item($target_row).Delete()

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

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

列を削除する


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

# 対象の列番号を指定します(前処理)
$target_column = 5

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

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

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

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

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

# 対象列に値を追加します(前処理)
$Sheet.Columns.Item($target_column).Value() = $input_text

# 対象列を削除します
$Sheet.Columns.Item($target_column).Delete()

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

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