Excel Office スクリプト シートから文字列を検索

2021年11月6日

Office スクリプトにおけるシートから文字列を検索する方法を紹介します。

解説

以下のコードで検索を行います。(赤字は適宜変更

let 検索結果の変数名 = workbook.getWorksheet("シート").findAll("検索ワード", { completeMatch: 完全一致(true)か部分一致(false), matchCase: 小文字・大文字を区別する(true)か、大文字・小文字を区別しない(false)});

結果には検索結果のセル範囲が配列で格納されます。

もし検索結果が存在しない場合はundefinedになります。

これはエラーの原因になるため対策しておく必要があります。

if(検索結果の変数名 === undefined){
	// 該当するものがないと undefined
}
else{
	// 該当するものがある場合
}

結果はrangeオブジェクト(getRangeの結果と同じ)の配列で操作は多岐にわたりますが、

代表的なものは次の通りです。

result.getAreaCount(); // 一致件数
result.getAreas(); // 一致したセル(range)の配列
result.getAreas()[インデックス]; // 一致したセル(range)
result.getAreas()[インデックス].getAddress();  // 一致したセル(range)のアドレス
result.getAreas()[インデックス].getValue();  // 一致したセル(range)の値
result.getAreas()[インデックス].clear();  // 一致したセル(range)をクリア
result.getAreas()[インデックス].setValue(設定値);  // 一致したセル(range)を更新

Office スクリプトを効果的に習得したい方へ

当サイトの情報を電子書籍用に読み易く整理したコンテンツを

買い切り700円またはKindle Unlimited (読み放題) で提供中です。

体系的に学びたい方は是非ご検討ください。

アップデートなどの更新事項があれば随時反映しています。

なお購入後に最新版をダウンロードするには

Amazonへの問い合わせが必要です。

関連記事

Excel Office スクリプトの記事一覧

Excel セルの検索と置換