![見出し画像](https://assets.st-note.com/production/uploads/images/36433891/rectangle_large_type_2_be98179bdc9107749e5e37cbd0684407.png?width=800)
【GoogleAppsScript】whileでの繰り返し
while文で条件が成立している間繰り返す
whileはforと同様に処理を反復したいときに使うものです。
条件式が成立している間だけ繰り返すという機能を持っています。
while(条件式) {
//繰り返したい処理
}
条件式がtrueであるときは、ずっと繰り返します。
サンプルプログラム
function myFunction() {
const st = SpreadsheetApp.getActiveSheet();
const last = st.getLastRow();
let cnt = 2;
while(st.getRange(cnt, 4).getValue()) {
cnt++;
}
console.log(st.getRange(cnt,1).getValue());
st.getRange(cnt,4).setValue(true);
}
カウント用変数cntで用意して、D列になにかしらの値が格納されている間は単純にプラス1をします。
文字列は空文字でなければtrueを返していきます。
cnt行目がD列に何も入力されていない場所まで来たら終了です。
ループを抜けたとき、cnt行は初めてD列が空文字だった行になります。
名言をどんどん読み込み、最後にtrueを書き込めば終わりです。
プログラム実行後
![名言-Google-スプレッドシート](https://assets.st-note.com/production/uploads/images/36434108/picture_pc_be49f37dc5cd7492de2d1f340719b583.png?width=800)
![画像2](https://assets.st-note.com/production/uploads/images/36434132/picture_pc_dcab6e2bbafcd20ddd7be87a41631cf1.png?width=800)
注意点
whileループの中でcnt++を入れていなかったとすると、while文の条件の中でずっと数がカウントアップされずループを抜けられず無限ループに陥ります。
whileを使う場合は、ループが抜けるような設計が必要となります。
もっと、GoogleAppsScriptを学びたい人はこの本がおすすめです。
#GoogleAppsScript #JavaScript #JavaScript入門 #プログラム #プログラム初心者
この記事が気に入ったらサポートをしてみませんか?