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 を使用したセルの操作」を参照してください。
値または数式を設定する
次のコード サンプルでは、1 つのセルまたはセル範囲の値と数式を設定します。
1 つのセルの値を設定する
次のコード サンプルでは、セル C3 の値を "5" に設定し、データに最も適した列の幅を設定します。
await Excel.run(async (context) => {
let sheet = context.workbook.worksheets.getItem("Sample");
let range = sheet.getRange("C3");
range.values = [[ 5 ]];
range.format.autofitColumns();
await context.sync();
});
セルの値が更新される前のデータ
セルの値が更新された後のデータ
複数のセルの範囲の値を設定する
次のコード サンプルでは、範囲 B5:D5 のセルの値を設定し、データに最も適した列の幅を設定します。
await Excel.run(async (context) => {
let sheet = context.workbook.worksheets.getItem("Sample");
let data = [
["Potato Chips", 10, 1.80],
];
let range = sheet.getRange("B5:D5");
range.values = data;
range.format.autofitColumns();
await context.sync();
});
複数のセルの値が更新される前のデータ
複数のセルの値が更新された後のデータ
1 つのセルの数式を設定する
次のコード サンプルでは、セル E3 の数式を設定し、データに最も適した列の幅を設定します。
await Excel.run(async (context) => {
let sheet = context.workbook.worksheets.getItem("Sample");
let range = sheet.getRange("E3");
range.formulas = [[ "=C3 * D3" ]];
range.format.autofitColumns();
await context.sync();
});
セルの数式が設定される前のデータ
セルの数式が設定された後のデータ
セルの範囲の数式を設定する
次のコード サンプルでは、範囲 E2:E6 のセルの数式を設定し、データに最も適した列の幅を設定します。
await Excel.run(async (context) => {
let sheet = context.workbook.worksheets.getItem("Sample");
let data = [
["=C3 * D3"],
["=C4 * D4"],
["=C5 * D5"],
["=SUM(E3:E5)"]
];
let range = sheet.getRange("E3:E6");
range.formulas = data;
range.format.autofitColumns();
await context.sync();
});
複数のセルの数式が設定される前のデータ
複数のセルの数式が設定された後のデータ
値、テキスト、または数式を取得する
これらのコード サンプルは、セル範囲から値、テキスト、数式を取得します。
セルの範囲から値を取得する
次のコード サンプルでは、 範囲 B2:E6 を取得し、そのプロパティを values
読み込み、値をコンソールに書き込みます。 範囲の プロパティは values
、セルに含まれる生の値を指定します。 範囲内の一部のセルに数式が含まれている場合でも、 values
範囲のプロパティは、数式ではなく、それらのセルの生の値を指定します。
await Excel.run(async (context) => {
let sheet = context.workbook.worksheets.getItem("Sample");
let range = sheet.getRange("B2:E6");
range.load("values");
await context.sync();
console.log(JSON.stringify(range.values, null, 4));
});
範囲内のデータ (列 E の値は数式の結果)
range.values (上記のコード サンプルによりコンソールに記録される)
[
[
"Product",
"Qty",
"Unit Price",
"Total Price"
],
[
"Almonds",
2,
7.5,
15
],
[
"Coffee",
1,
34.5,
34.5
],
[
"Chocolate",
5,
9.56,
47.8
],
[
"",
"",
"",
97.3
]
]
セルの範囲からテキストを取得する
次のコード サンプルでは、範囲 B2:E6 を取得し、そのプロパティを text
読み込み、コンソールに書き込みます。 範囲の プロパティは text
、範囲内のセルの表示値を指定します。 範囲内の一部のセルに数式が含まれている場合でも、 text
その範囲のプロパティは、数式ではなく、それらのセルの表示値を指定します。
await Excel.run(async (context) => {
let sheet = context.workbook.worksheets.getItem("Sample");
let range = sheet.getRange("B2:E6");
range.load("text");
await context.sync();
console.log(JSON.stringify(range.text, null, 4));
});
範囲内のデータ (列 E の値は数式の結果)
range.text (上記のコード サンプルによりコンソールに記録される)
[
[
"Product",
"Qty",
"Unit Price",
"Total Price"
],
[
"Almonds",
"2",
"7.5",
"15"
],
[
"Coffee",
"1",
"34.5",
"34.5"
],
[
"Chocolate",
"5",
"9.56",
"47.8"
],
[
"",
"",
"",
"97.3"
]
]
セルの範囲から数式を取得する
次のコード サンプルでは、範囲 B2:E6 を取得し、そのプロパティを formulas
読み込み、コンソールに書き込みます。 範囲のプロパティは formulas
、数式を含む範囲内のセルの数式と、数式を含まない範囲内のセルの生の値を指定します。
await Excel.run(async (context) => {
let sheet = context.workbook.worksheets.getItem("Sample");
let range = sheet.getRange("B2:E6");
range.load("formulas");
await context.sync();
console.log(JSON.stringify(range.formulas, null, 4));
});
範囲内のデータ (列 E の値は数式の結果)
range.formulas (上記のコード サンプルによりコンソールに記録される)
[
[
"Product",
"Qty",
"Unit Price",
"Total Price"
],
[
"Almonds",
2,
7.5,
"=C3 * D3"
],
[
"Coffee",
1,
34.5,
"=C4 * D4"
],
[
"Chocolate",
5,
9.56,
"=C5 * D5"
],
[
"",
"",
"",
"=SUM(E3:E5)"
]
]
関連項目
Office Add-ins