![見出し画像](https://assets.st-note.com/production/uploads/images/52540808/rectangle_large_type_2_6e23b286fe127596361361bb14559c58.jpeg?width=1200)
Photo by
dunia_note
OfficeScriptsで名言ボットを作ってみた⑬ ループを途中で抜ける🙂break文
こんにちは。aliceです。
OfficeScripts初心者が名言ボットを作ってみたシリーズ。はじめてのOfficeScripts。
今日はbreak文を使ってループを途中で抜けてみたいと思います。
OfficeScriptsとPowerAutomateで名言ボットを作りました。(OfficeScriptsの使用にはweb版のExcelとライセンスが必要です。)
前回のあらすじ
clearメソッドを使って、セル範囲の値を消してみました。
function main(workbook: ExcelScript.Workbook) {
let sheet = workbook.getActiveWorksheet();
let range = sheet.getUsedRange();
let rangeValues = range.getValues();
let word = "";
let lastRow = range.getRowCount();
for (let i = 1; i <= lastRow; i++) {
if (rangeValues[i][3] === "") {
word = "" + rangeValues[i][1];
sheet.getCell(i, 3).setValue("True");
if (i >= lastRow - 1) {
let address = "D2:D" + lastRow;
sheet.getRange(address).clear(ExcelScript.ClearApplyTo.contents);
};
}
}
}
これだと一度にどさっとボットを作ってしまうので、1行送ったらループを抜けるという処理をしていきます。
1 break文でループを抜ける
break文を使うとループの途中で繰り返しを抜けることができます。
function main(workbook: ExcelScript.Workbook) {
let sheet = workbook.getActiveWorksheet();
let range = sheet.getUsedRange();
let rangeValues = range.getValues();
let word = "";
let lastRow = range.getRowCount();
for (let i = 1; i <= lastRow; i++) {
if (rangeValues[i][3] === "") {
word = "" + rangeValues[i][1];
sheet.getCell(i, 3).setValue("True");
if (i >= lastRow - 1) {
let address = "D2:D" + lastRow;
sheet.getRange(address).clear(ExcelScript.ClearApplyTo.contents);
};
break; //←ここに追加
}
}
}
実行してみます。
【実行前】
2つめ(D3セル)まで「TRUE」が入っているので3つめ(D4セル)に「TRUE」が入れば成功です。
【実行後】
3つめ(D4セル)に「TRUE」が入っています!
console.logでセリフを出力。
ちゃんと3つめのセリフが入っています。
2 今日のまとめ
・ループを途中で抜けるときはbreak文を使う
3 おすすめサイト
条件に応じてループを制御する2つの方法
お疲れさまでした。