Yuki's bnb blog

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

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

f:id:yukibnb:20200511222148p:plain

※2020/5/11に画像やGIF動画を追加し、加筆修正しました。

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


Google Apps Script (GAS) で色々な種類のメッセージボックスを表示する方法をまとめました。

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

まず注意点

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

両者の違いは以下です。

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

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

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

 

メッセージボックスの表示方法まとめ

f:id:yukibnb:20200511222252p:plain

メッセージボックスを表示させるには「Browser.msgBox」メソッドを使用します。

メッセージボックス上に文章だけでなく複数のボタンを表示させることでより柔軟かつ便利にスクリプトを実行できます。順番に紹介します。

 

メッセージボックス 《選択肢: OKのみ》

f:id:yukibnb:20200511222441p:plain

選択肢が「OK」だけのメッセージボックスを表示させたい場合は以下コードを使用します。

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

Browser.msgBox("文章を入力してください");

 
f:id:yukibnb:20200511222513g:plain

使用例
- スクリプトの動作が完了したことを知らせるメッセージを表示

 

メッセージボックス 《選択肢: OKとキャンセル》

f:id:yukibnb:20200511222609p:plain

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

var question = Browser.msgBox("文章を入力してください", Browser.Buttons.OK_CANCEL);

 
f:id:yukibnb:20200511222713g:plain

上記のように変数に格納することでどちらのボタンをクリックしたかによってその後の動作を分岐させることができます

OK」をクリックすると変数questionに『ok』が格納されます。

キャンセル」をクリックすると変数questionに『cancel』が格納されます。

使用例
- 「キャンセル」をクリックするとスクリプトを終了する処理を実装

 

メッセージボックス 《選択肢: はいといいえ》

f:id:yukibnb:20200511222738p:plain

「はい」と「いいえ」の選択肢を表示させることができます。

var question = Browser.msgBox("文章を入力してください", Browser.Buttons.YES_NO);

 
f:id:yukibnb:20200511222748g:plain

はい」をクリックすると変数questionに『yes』が格納されます

いいえ」をクリックすると変数questionに『no』が格納されます。

使用例
- 2択でスクリプトを分岐させる処理を実装

 

メッセージボックス 《選択肢: はい、いいえ、キャンセル》

f:id:yukibnb:20200511222913p:plain

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

var question = Browser.msgBox("文章を入力してください", Browser.Buttons.YES_NO_CANCEL);

f:id:yukibnb:20200511222932g:plain

はい」をクリックすると変数questionに『yes』が格納されます

いいえ」をクリックすると変数questionに『no』が格納されます。

キャンセル」をクリックすると変数questionに『cancel』が格納されます。

使用例
- 「はい」「いいえ」でスクリプトを分岐させ、「キャンセル」をクリックするとスクリプトを終了する処理を実装

 

メッセージボックスに題名を表示する 《上記すべて対応》

f:id:yukibnb:20200511223234p:plain

メッセージボックスに題名を表示させることができます。上記に紹介した4つすべてのスクリプトで使用できます。

var question = Browser.msgBox("題名を入力","本文を入力", Browser.Buttons.YES_NO);

 
f:id:yukibnb:20200511223311g:plain

題名を表示することでより見やすくなりましたね。

 

補足: 右上のバツ印

f:id:yukibnb:20200511224202g:plain

入力ボックスの右上のバツ印をクリックするとメッセージボックスが閉じます。そして変数に『cancel』が格納されます。

 

整理: 各ボタンをクリックすると変数に格納されるもの

f:id:yukibnb:20200511224347p:plain

f:id:yukibnb:20200511224355p:plain

「OK」「はい」「いいえ」「キャンセル」「バツ印」をクリックしたときに変数に格納されるものをまとめました。

ボタン名 変数に格納される文字列
OK ok
はい yes
いいえ no
キャンセル cancel
バツ印 cancel

 

まとめ

この記事では色々な種類のメッセージボックスを紹介しました。

「OK」「キャンセル」「はい」「いいえ」のボタンを活用することでスクリプトを分岐させたり、誤ってスクリプトを実行してしまった時に動作キャンセルするような処理も実装できます。

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

メッセージボックス一覧

//OKのみ
Browser.msgBox("本文");

//OKとキャンセル
var 変数 = Browser.msgBox("本文", Browser.Buttons.OK_CANCEL);

//はいといいえ
var 変数 = Browser.msgBox("本文", Browser.Buttons.YES_NO);

//はい、いいえ、キャンセル
var 変数 = Browser.msgBox("本文", Browser.Buttons.YES_NO_CANCEL);

//題名を表示
var 変数 = Browser.msgBox("題名","本文", Browser.Buttons.OK_CANCEL);

 


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