OfficeScriptsで名言ボットを作ってみた③ getUsedRangeメソッドで使用しているセル範囲を取得する
こんにちは。aliceです。
OfficeScriptsとPowerAutomateで名言ボットを作りました。(OfficeScriptsの使用にはweb版のExcelとライセンスが必要です。)
前回はこちら
アクティブワークシートの取得までできた!
function main(workbook: ExcelScript.Workbook) {
let sheet = workbook.getActiveWorksheet();
}
ということで次はgetUsedRangeメソッドを使います。
1 使用しているセル範囲を取得する(getUsedRangeメソッド)
なぜgetUsedRangeメソッドなの?
公式ドキュメントで使っていたからです(;′⌒`)
// Get the values of the used range.
let range = selectedSheet.getUsedRange();
let rangeValues = range.getValues();
// Iterate over the fourth and fifth columns and set their values to their absolute value.
let rowCount = range.getRowCount();
for (let i = 1; i < rowCount; i++) {
// The column at index 3 is column "4" in the worksheet.
if (rangeValues[i][3] != 0) {
let positiveValue = Math.abs(rangeValues[i][3] as number);
selectedSheet.getCell(i, 3).setValue(positiveValue);
}
// The column at index 4 is column "5" in the worksheet.
if (rangeValues[i][4] != 0) {
let positiveValue = Math.abs(rangeValues[i][4] as number);
selectedSheet.getCell(i, 4).setValue(positiveValue);
}
}
一部抜粋
// Get the values of the used range.
let range = selectedSheet.getUsedRange();
let rangeValues = range.getValues();
とりあえずgetUsedRangeメソッドで使用されている範囲を返して、その範囲のセルの値を取得するということでしょうか。そしてそのあと配列を使うのかな?
公式リファレンス
指定した範囲オブジェクトのうち使用されている範囲を返します。 範囲内に使用されているセルがない場合、この関数はプロパティが次の値に設定された isNullObject オブジェクトを返します。
getUsedRange(valuesOnly?: boolean): Range;
ということで使用されているセル範囲を取得するまでできました。
function main(workbook: ExcelScript.Workbook) {
let sheet = workbook.getActiveWorksheet();
let range = sheet.getUsedRange();
}
2 今日のまとめ
・使用されている範囲を取得するするときはgetUsedRangeメソッドを使う
お疲れさまでした!
この記事が気に入ったらサポートをしてみませんか?