JavaScript API を使用して範囲の値、テキスト、または数式を設定Excel取得する
この記事では、JavaScript API を使用して範囲の値、テキスト、または数式を設定および取得するExcelします。 オブジェクトがサポートするプロパティとメソッドの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:E6values
を取得し、プロパティを読み込み、コンソールに値を書き込みます。 範囲 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:E6text
を取得し、プロパティを読み込み、コンソールに書き込みます。 範囲 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:E6formulas
を取得し、プロパティを読み込み、コンソールに書き込みます。 範囲 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)"
]
]