検索¶
エクセル操作(検索)用のサンプルスクリプトとなります。
環境等の要因で動作しない場合もありますので下記スクリプトに関してはテスト環境などで動作を確認したのちご利用ください。
シート単位で対象文字列の検索¶
# ファイルパスを指定します(前処理)
$file_path = 'C:\\test2.xlsx'
# 対象シートを指定します(前処理)
$target_sheet = 'Sheet1'
# 検索文字列を指定します(前処理)
$search_text = 'test'
# Excelオブジェクトを作成します(前処理)
$excel = New-Object -ComObject Excel.Application
# ウィンドウ表示設定をします(前処理)
$excel.Visible = $true
# 対象のワークブックを起動します(前処理)
$excel.Workbooks.Open($file_path)
# 対象シートを取得します(前処理)
$sheet = $excel.WorkSheets.item($target_sheet)
# シート単位で対象文字列を検索します
$Range = $sheet.Cells.find($search_text)
$Range.select()
# Excelを終了します(後処理)
# $excel.Quit()
# プロセスを解放します(後処理)
$excel = $null
[GC]::Collect()
行単位で対象文字列の検索¶
# ファイルパスを指定します(前処理)
$file_path = 'C:\\test2.xlsx'
# 対象シートを指定します(前処理)
$target_sheet = 'Sheet1'
# 検索開始の行番号を指定します(前処理)
$start_row = '3'
# 検索終了の行番号を指定します(前処理)
$finish_row = '5'
# 検索文字列を指定します(前処理)
$search_text = 'test'
# Excelオブジェクトを作成します(前処理)
$excel = New-Object -ComObject Excel.Application
# ウィンドウ表示設定をします(前処理)
$excel.Visible = $true
# 対象のワークブックを起動します(前処理)
$excel.Workbooks.Open($file_path)
# 対象シートを取得します(前処理)
$sheet = $excel.WorkSheets.item($target_sheet)
# 行単位で対象文字列を検索します
$Range = $sheet.Range($start_row + ':' + $finish_row).find($search_text)
$Range.select()
# Excelを終了します(後処理)
# $excel.Quit()
# プロセスを解放します(後処理)
$excel = $null
[GC]::Collect()
列単位で対象文字列の検索¶
# ファイルパスを指定します(前処理)
$file_path = 'C:\\test2.xlsx'
# 対象シートを指定します(前処理)
$target_sheet = 'Sheet1'
# 検索開始の列番号を指定します(前処理)
$start_column = 'E'
# 検索終了の列番号を指定します(前処理)
$finish_column = 'E'
# 検索文字列を指定します(前処理)
$search_text = 'test'
# Excelオブジェクトを作成します(前処理)
$excel = New-Object -ComObject Excel.Application
# ウィンドウ表示設定をします(前処理)
$excel.Visible = $true
# 対象のワークブックを起動します(前処理)
$excel.Workbooks.Open($file_path)
# 対象シートを取得します(前処理)
$sheet = $excel.WorkSheets.item($target_sheet)
# 列単位で対象文字列を検索します
$Range = $sheet.Range($start_column + ':' + $finish_column).find($search_text)
$Range.select()
# Excelを終了します(後処理)
# $excel.Quit()
# プロセスを解放します(後処理)
$excel = $null
[GC]::Collect()