Excel JavaScript API を使用して範囲内の文字列を検索する
この記事では、Excel JavaScript API を使用して範囲内の文字列を検索するコード サンプルを提供します。 オブジェクトがサポートする Range
プロパティとメソッドの完全な一覧については、「 Excel.Range クラス」を参照してください。
注:
Excel JavaScript API には、"Cell" オブジェクトまたはクラスがありません。 代わりに、Excel JavaScript API はすべての Excel セルを Range
オブジェクトとして定義します。 Excel UI の個々のセルは、Excel JavaScript API の 1 つのセルを持つ Range
オブジェクトに変換されます。 1 つの Range
オブジェクトに複数の連続したセルを含めることもできます。 詳しくは、「Excel JavaScript API を使用したセルの操作」を参照してください。
範囲内の文字列と一致する
Range
オブジェクトには、範囲内で指定された文字列を検索するための find
メソッドがあります。 このメソッドは、一致するテキストがある最初のセルの範囲を返します。
次のコード サンプルは、文字列 Food と等しい値を持つ最初のセルを検索して、そのアドレスをコンソールに記録します。 指定した文字列が範囲に存在しない場合、ItemNotFound
エラーが find
によってスローされます。 指定した文字列が範囲に存在しない可能性がある場合は、自分のコードで適切にシナリオを処理できるように、findOrNullObject メソッドを使用するようにしてください。
await Excel.run(async (context) => {
let sheet = context.workbook.worksheets.getItem("Sample");
let table = sheet.tables.getItem("ExpensesTable");
let searchRange = table.getRange();
let foundRange = searchRange.find("Food", {
completeMatch: true, // Match the whole cell value.
matchCase: false, // Don't match case.
searchDirection: Excel.SearchDirection.forward // Start search at the beginning of the range.
});
foundRange.load("address");
await context.sync();
console.log(foundRange.address);
});
単一のセルを表す範囲に対して find
メソッドが呼び出されると、ワークシート全体が検索されます。 検索はその単一のセルから始まり、SearchCriteria.searchDirection
によって指定された方向へ行われ、場合によってはワークシートの最終部分で折り返されます。
関連項目
Office Add-ins