Google Apps Scriptの基本を覚える (5/7)
作成:2011-06-15 09:30
更新:2011-11-04 15:46
更新:2011-11-04 15:46
■「はい」「いいえ」ボタンを使う
Browser.msgBoxは、単にメッセージを表示するだけのものでしたが、では「ユーザーから何かを入力してもらう」にはどうすればいいのでしょう?
これには、いくつかの方法が考えられます。まず、もっともシンプルなのは「msgBoxで、ボタンを選んでもらう」という方法です。msgBoxでは、メッセージを表示する際、「OK」ボタン以外のボタンを表示させることができるのです。
下のリスト欄に「ボタンを使った例」を挙げておきました。スクリプトを実行すると、「はい」「いいえ」という2つのボタンが表示されます。そして、選んだボタンによって、次に表示されるメッセージが変わります。
ここでは、msgBoxに「表示されるボタンの種類」を指定して呼び出しています。msgBoxには、以下のような書き方も用意されています。
OK――「OK」ボタンのみ
OK_CANCEL――「OK」と「キャンセル」ボタン
YES_NO――「はい」「いいえ」ボタン
YES_NO_CANCEL――「はい」「いいえ」「キャンセル」ボタン
今回の例では、Browser.Buttons.YES_NOをボタンの種類として指定していますね。これで、「はい」「いいえ」ボタンがアラートに表示された、というわけです。どのボタンを選んだかは、msgBoxの返値をチェックすることでわかります。選んだボタンに応じて、"ok", "cancel", "yes", "no"といったテキストが返されます。「はい」「いいえ」ではないのですね。実際に表示されるボタン名は、使用しているシステムの言語などに応じてローカライズされるため変化しますから、ボタン名そのものが返されるわけではないのです。
「クローズボタンは?」と思った人。この場合も、"cancel"が返されます。つまり、「キャンセル」ボタンとクローズボックスは、msgBoxにおいては「同じもの」として扱われるわけです。
これには、いくつかの方法が考えられます。まず、もっともシンプルなのは「msgBoxで、ボタンを選んでもらう」という方法です。msgBoxでは、メッセージを表示する際、「OK」ボタン以外のボタンを表示させることができるのです。
下のリスト欄に「ボタンを使った例」を挙げておきました。スクリプトを実行すると、「はい」「いいえ」という2つのボタンが表示されます。そして、選んだボタンによって、次に表示されるメッセージが変わります。
ここでは、msgBoxに「表示されるボタンの種類」を指定して呼び出しています。msgBoxには、以下のような書き方も用意されています。
変数 = Browser.msgBox( メッセージ , ボタンの種類 );このようにして、表示するボタンの種類を引数に用意することで、ボタンを変更することができます。では「ボタンの種類」というのはどうやって指定するのか? これは、Browser.Buttonsオブジェクトに以下のようなプロパティとして用意されています。
変数 = Browser.msgBox( タイトル , メッセージ , ボタンの種類 );
OK――「OK」ボタンのみ
OK_CANCEL――「OK」と「キャンセル」ボタン
YES_NO――「はい」「いいえ」ボタン
YES_NO_CANCEL――「はい」「いいえ」「キャンセル」ボタン
今回の例では、Browser.Buttons.YES_NOをボタンの種類として指定していますね。これで、「はい」「いいえ」ボタンがアラートに表示された、というわけです。どのボタンを選んだかは、msgBoxの返値をチェックすることでわかります。選んだボタンに応じて、"ok", "cancel", "yes", "no"といったテキストが返されます。「はい」「いいえ」ではないのですね。実際に表示されるボタン名は、使用しているシステムの言語などに応じてローカライズされるため変化しますから、ボタン名そのものが返されるわけではないのです。
「クローズボタンは?」と思った人。この場合も、"cancel"が返されます。つまり、「キャンセル」ボタンとクローズボックスは、msgBoxにおいては「同じもの」として扱われるわけです。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
※ボタンを使った例 function myFunction() { var result = Browser.msgBox("選んで!", "あなたはChromeユーザー?", Browser.Buttons.YES_NO); if (result == "yes"){ Browser.msgBox("OK! さすがだね!"); } else { Browser.msgBox("ちぇっ……"); } }
※関連コンテンツ
「初心者のためのGoogle Apps Scriptプログラミング入門」に戻る