これらのガイドラインを使用して、列全体と行全体のアドレスがどのように動作するかを理解し、エラーとメモリ使用量を減らすパターンを適用します。
Range オブジェクトがサポートするプロパティとメソッドの完全な一覧については、「Excel.Range クラス」を参照してください。
重要な点
- "無制限" とは、列全体 (
A:Fなど) または行全体 (2:2など) を意味します。 - セル レベルのプロパティ (
values、text、numberFormat、formulasなど) は、無制限の読み取りのnullとして返されます。 - 無制限の範囲にセル レベルのプロパティを設定することはできません。 これによりエラーが返されます。
-
getUsedRange()で最初に使用したセルに絞り込む。 - 計算速度を速くし、メモリ使用量を削減するために、明示的な境界 (
A1:F5000など) を優先します。
無制限の範囲の例を次に示します。
- 列全体で構成される範囲アドレス。
C:CA:F
- 行全体で構成される範囲アドレス。
2:21:4
無制限の範囲の読み取り
無制限の範囲 (たとえば、getRange('C:C')) を要求すると、応答は、values、text、numberFormat、formulaなどのセル レベルのプロパティのnullを返します。 その他のプロパティ (address、 cellCount) は引き続き有効です。
無制限の範囲への書き込み
要求が大きすぎるため、 values、 numberFormat、 formula などのセル レベルのプロパティを無制限の範囲に設定することはできません。 たとえば、次のコード サンプルは、無制限の範囲の values を設定するため失敗します。
// Invalid: Attempting to write cell-level data to unbounded columns.
let range = context.workbook.worksheets.getActiveWorksheet().getRange("A:B");
range.values = [["Due Date"]]; // This throws an error.
次の手順
- 大きな境界範囲の戦略について説明します。
- 複数の明示的な範囲を 複数の範囲と組み合わせます。
- リソース制限ガイダンスを使用してパフォーマンスを最適化します。
- 特殊なセルを使用して特定 のセルを識別します。
関連項目
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
Office Add-ins