Yuki's bnb blog

こんにちは!Yukiといいます。本業のかたわら大阪で2016年夏から民泊運営のお手伝いをしています。民泊業務に関する様々なことを自動化・効率化したいと思い日々活動しています。 お気軽にコメント・お問い合わせください :) TOEICスコア 985

【コピペでOK!GAS基本操作】入力ボックスを表示する方法まとめ

f:id:yukibnb:20190721181011p:plain

こんにちは!
Yuki (@yukibnb) です。


Google Apps Script (GAS) で画面上に入力ボックスを表示する方法をまとめました。

入力ボックスではなくメッセージボックスを表示させたい場合は以下記事をご覧ください。
www.yukibnb.com

 

まず注意点

この記事で紹介する入力ボックスを表示するにはスプレッドシートに紐づいたスクリプトである「Container-bound Scripts」を使用します。「Standalone Scripts」ではメッセージボックスは使用できませんのでご注意ください。

両者の違いは以下です。

  • スプレッドシートやドキュメントなどからスクリプトを開く方法
    -> 親となるスプレッドシートなどのファイルに紐づきます。
        「Container-bound Scripts」と呼びます。

  • Googleドライブ内に直接スクリプトファイルを保存する方法
    -> 単独ファイルとしてドライブ内に保存します。
        「Standalone Scripts」と呼びます。

 
「スプレッドシートからGASを開いた!」という方は問題なく使用できますので、難しく考えなくて大丈夫です!

 

入力ボックスの表示方法まとめ

入力ボックスを表示させるには「Browser.inputBox」を使用します。

入力ボックスに入力した内容を変数に格納することで活用の幅が広がります。

入力ボックス 《選択肢なし: OKのみ》

単純に入力ボックスを表示させたい場合は以下コードを使用します。

"文章を入力してください"の箇所には自由に文章を入力してください。

var 変数名 = Browser.inputBox("文章を入力してください");

入力テキスト例

  • 日付
  • 宛先
  • 数量
  • シート名

 
このように使用できます。

var meetingDate = Browser.inputBox("会議の日程を入力してください。");
Browser.msgBox("次の会議は" + meetingDate + "に開催します。");

f:id:yukibnb:20190124123428j:plain:w400

f:id:yukibnb:20190124123435j:plain:w400

この例ではBrowser.msgBoxに表示しただけでしたが、EメールやLINE Notifyで送信する文章に組み込むという使い方も可能です。

 

確認メッセージ 《選択肢あり: OKとキャンセル》

「OK」と「キャンセル」の選択肢を表示させることができます。

var 変数名 = Browser.inputBox("文章を入力してください", Browser.Buttons.OK_CANCEL);

 

OK」をクリックすると変数に『入力ボックスに入力した文章』が格納されます。

キャンセル」をクリックすると変数に『cancel』が格納されます。たとえ入力ボックスに何か入力していても「キャンセル」をクリックすると『cancel』が格納されます。

キャンセルボタンをつけることで誤ってスクリプトを起動してしまった時に動作を中止する処理を実装できます。

具体的には以下のようなスクリプトです。

var meetingDate = Browser.inputBox("会議の日程を入力してください。\\n間違って起動した場合、キャンセルをクリックしてください。",Browser.Buttons.OK_CANCEL);
if(meetingDate == "cancel"){
  Browser.msgBox("スクリプトを終了します。");
  return;
} else {
  Browser.msgBox("次の会議は" + meetingDate + "に開催します。");
}

f:id:yukibnb:20190124130113j:plain:w400

f:id:yukibnb:20190124124840j:plain:w400

 

補足: 右上のバツ印

inputBoxの右上のバツ印をクリックするとinputBoxが閉じます。そして変数に『cancel』が格納されます。

「OK」ボタンだけを表示する場合でもバツ印をクリックすると変数に『cancel』が格納されるため、バツ印を押した場合の処理も組み込むことをおすすめします。そうでなければ以下のようになります。

var meetingDate = Browser.inputBox("会議の日程を入力してください。");
Browser.msgBox("次の会議は" + meetingDate + "に開催します。");

f:id:yukibnb:20190124125824j:plain:w400

f:id:yukibnb:20190124125829j:plain:w400

 

まとめ

この記事では入力ボックスの表示方法を紹介しました。

入力ボックスに入力した内容をその先の処理で使用することでより柔軟なスクリプトを実現できます。

入力ボックスを活用した分岐の実用例は応用編として別記事で紹介したいと思います。

入力ボックスではなくメッセージボックスの使用方法が気になる方は以下記事をご覧ください。
www.yukibnb.com

ボタン名 変数に格納される文字列
OK 入力ボックスに入力した文章
キャンセル cancel
バツ印 cancel