(license)みなさん、こんにちは!タカハシ(@ntakahashi0505)です。ScriptのシリーズとしてBotの作り方についてお伝えしています。前回の記事はこちらです。Scriptのシリーズとして、Botを作成していきます。今回は、setValueメソッドを使って、スプレッドシートのセルに値を入力する基本中の基本をお伝えします。tonari-it.com2018.04.08GASを使ってスプレッドシートのセルに値を入力する方法をお伝えしました。今回は、GASで条件に応じてループを制御する2つの方法としてbreak文を使う方法と、while文を使う方法についてお伝えしますね。前回までのおさらいbreak文でforループを抜けるBotで通知をしたらループを抜けるスクリプトwhile文で条件が成立している間繰り返すwhile文を使ったスクリプトwhile文を使う際の注意点まとめ連載目次:超初心者向けGASでBotを作りながら基礎を学ぶ前回までのおさらいまず、題材となっているスプレッドシートはこちらです。名言が一覧されていまして、この名言を一つずつ通知していきたいのです。前回までで作成したスクリプトがこちらです。4).setValue(true);}}}シートの2行目から順にBotで通知(今はログ出力ですが)していき、通知したところは目印として、D列に「true」を入力するというものです。このスクリプトを実行してみるとわかりますが、以下のようにTRUEが入っていない名言が全部ログ出力されちゃいます。Botなので、一回の実行で通知する名言は一つで良いんですね。その方法を今回は考えていきます。break文でforループを抜けるスクリプトではD列が「true」でない行を見つけたら、その行の名言をログ出力して、「true」と入力するようになっています。そのタイミングでforループ文を抜けることができれば良いわけです。そんなときに、break文を使えばループを抜けることができます。書き方はシンプルにこうです。breakこのbreak文が含まれているforループを即時に抜けることができます。今回のように、if文の中で特定の条件にマッチしたときに抜ける、という使い方がスタンダードです。Botで通知をしたらループを抜けるスクリプトこのbreak文を使って、反復を抜けるようにすると、スクリプトは以下のようになります。4).setValue(true);break;}}}実行すると、以下のようにTRUEではない最初の行の名言だけがログ出力されて、スクリプトの実行は終了します。while文で条件が成立している間繰り返す今回の目標を実現する別の方法があります。それはwhile文を使う方法です。while文はfor文と同様に処理を反復したいときに使うものですが、条件式が成立している間だけ繰り返すという機能を持つものです。書き方は以下の通りです。{//繰り返したい処理}つまり、この条件式がtrueである限りずっと繰り返しをするのです。while文を使ったスクリプト今回の例でいうと、以下のようなスクリプトを組むことができます。4).setValue(true);}カウント用変数iを初期値2で用意して、D列に何らかの値が格納されている間は単純にプラス1をします。文字列は空文字でなければtrueを返しますからね。i行目がD列に何も入力されてなければ、ループを終了します。ループを抜けたとき、i行目は初めてD列が空文字だった行になります。その行について、名言をBotしてtrueを書き込めばOKというわけです。実行すると、先ほどのbreak文の例と同様の結果が得られますので、確認をしてみてください。今回、whileループ内の処理にi++を入れていなかったとすると、while文の条件式が一生falseになることがありませんので、ループを終了することができません。その場合、永久に実行される無限ループとなってしまいます。(GASの場合は、ルールで6分を超えると強制停止になりますが。)ですので、while文を使うときは、ループがちゃんと終了される時が来るように設計する必要がありますので、その点注意をしてくださいね。Scriptで条件によってループを制御する2つの方法をお伝えしました。今回の例でいうとif文が成立したときにbreak文でループを抜けるwhile文で条件式が成立している間繰り返すのどちらでもOKですが、どちらも重要なので両方使いこなせるようにしておくと良いです。次回はセル範囲を行数、列数も使って取得する方法についてお伝えします。ScriptでBotを作成する方法についてシリーズでお伝えしています。今回は、GASでスプレッドシートのセル範囲を行数・列数を使って取得する方法をお伝えしていきます。Script(GAS)をはじめるためのメリットは山程ありますが、何を作ったらいいの?と悩んでしまうこともありますよね。そんな時に、おすすめしたいのが「Bot」の作成です。このシリーズでは、超初心者向けにGASでBotを作る方法を題材としながら、GASプログラミングの一通りの流れと書き方について学んでいきます。プランノーツ代表、コミュニティ「ノンプロ研」主宰。ITで日本の『働く』の価値を上げる!」をテーマに、VBA&GASの開発、講師、執筆などをしております。→詳しいプロフィールはコチラ★ご依頼・ご相談はお気軽にどうぞ!→お問い合わせはコチラ★フォロー頂ければ嬉しいです。「コミュニティ+講座」形式で継続性&教え合える環境も提供。!ノンプログラマーがプログラミングスキルを身に着ける支援ををするコミュニティ。セミナー・もくもく会・Facebookグループのサポートで「自らで学び続ける力をつける」支援、「教え合うことで学びの価値を上げる」場の提供をしています。Scriptでダイアログを使ったcsvファイルアップローダーを作成する方法をお伝えするシリーズです。今回はGASのダイアログでファイルアップロードが失敗したらアラートを表示する方法です。Scriptでフォーム送信メールからデータを抜き出してスプレッドシートに登録するツールを作成しています。今回はメールで取得したデータをスプレッドシートに蓄積する方法をお伝えします。ScriptGASでWebページを表示するdoGet関数のスクリプトについて丁寧に解説GASユーザーのためのHTML・CSSによるWebページ制作入門を伝えしています。2018」の参加レポートをお届けしています。Chat」とは何か、またBotの作り方です。Scriptでサイドバーを作る方法をお伝えしています。ScriptのサイドバーのテキストエリアにGAS関数から受け取った値を反映させる方法です。ScriptのsetOptionメソッドでグラフタイトル・凡例を編集する方法setOptionメソッドを使って、グラフタイトル、凡例を編集するテクニックを紹介します。見た目を整えることで、グラフの意味するところ相手に正確に伝えることができます。「コミュニティ+講座」形式で継続性&教え合える環境も提供。詳細・お申込はこちら隣ITを応援する当ブログを「応援したい!」「役に立ったよ!」というお気持ちを、コチラからお支払いただくことができます。日々更新の活力倍増いたします。※PayPalアカウントが必要です。※金額は変更可能です。Platform23HTML・CSS32iPhone・アプリ29Monaca・スマホアプリ開発7PC全般・Windows86PowerPoint・VBA28Python87RPA1VBScript15Vue.js・JavaScript13WEBサービス・クラウド68WordPress・ブログ88Word・VBA42コミュニティ・イベント108セミナーのお知らせ11チャットワーク72データ分析・アクセス解析40仕事・生産性・働き方73動画配信8商業出版21起業・フリーランス72電子書籍・Kindle3運営会社プランノーツは"IT×働き方改革"をお手伝いする会社です。「コミュニティ+講座」形式で継続性&教え合える環境も提供。詳細・お申込はこちら隣ITを応援する当ブログを「応援したい!」「役に立ったよ!」というお気持ちを、コチラからお支払いただくことができます。日々更新の活力倍増いたします。※PayPalアカウントが必要です。※金額は変更可能です。Platform23HTML・CSS32iPhone・アプリ29Monaca・スマホアプリ開発7PC全般・Windows86PowerPoint・VBA28Python87RPA1VBScript15Vue.js・JavaScript13WEBサービス・クラウド68WordPress・ブログ88Word・VBA42コミュニティ・イベント108セミナーのお知らせ11チャットワーク72データ分析・アクセス解析40仕事・生産性・働き方73動画配信8商業出版21起業・フリーランス72電子書籍・Kindle3運営会社プランノーツは"IT×働き方改革"をお手伝いする会社です。RowSourceプロパティとAddItemメソッド2020.01.21GASでGoogleスライドのSlideオブジェクトの概要とその取得方法2020.01.162020.01.24Facebookページいつも隣にitのお仕事タイトルとURLをコピーしました。