libro
www.tuyano.com
Google Apps Scriptプログラミング [中級編]

Uiによる簡易インターフェイスの作成 (4/5)

作成:2013-06-30 11:46
更新:2013-06-30 11:54

■Uiでpromptを表示する

続いて、テキストの入力が行える「プロンプト」の表示です。これは、1行だけの入力フィールドとボタンが表示されたダイアログです。

このプロンプトを呼び出すためのメソッドが「prompt」です。このpromptメソッドの使い方は、先ほどのalertとほぼ同じです。


・プロンプトの表示
変数 =《Ui》.prompt(テキスト);
変数 =《Ui》.prompt(テキスト,ボタン);
変数 =《Ui》.prompt(タイトル,テキスト, ボタン);

alertがわかれば、このpromptも呼び出すのはすぐにできますね。ただし、注意しなければならないのが「返値」です。alertは、単に選択したボタンの値が返されましたが、promptの場合、入力した値と、選択したボタンの値をまとめて渡す必要があります。

そこで、promptの返値は、「PromptResponse」という専用のオブジェクトとして返されるようになっています。このオブジェクトには、以下のようなメソッドが用意されています。


・入力したテキストを得る
変数 = 《PromptResponse》.getResponseText();

・選択したボタンを得る
変数 = 《PromptResponse》.getSelectedButton();

getResponseTextの値はそのままString値として得られます。getSelectedButtonの値は、alertの場合と同様にUiButton内にある値を使ってチェックしてください。

下のリスト欄に簡単なサンプルを挙げておきます。テキストとボタンの両方の値が返されますが、基本はalertと同様、まず押したボタンの種類をチェックし、その中で必要に応じて入力テキストの値を取得して処理をすればいいでしょう。


※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

function showPrompt(){
  var ui = DocumentApp.getUi();
  var re = ui.prompt("質問に答えて", "今日の朝ごはんのメニューは?", 
      ui.ButtonSet.OK_CANCEL);
  switch(re.getSelectedButton()){
    case ui.Button.OK:
      var str = re.getResponseText();
      ui.alert(str + "ですか。おいしぞ~。");
      break;
    case ui.Button.CANCEL:
      ui.alert("さては食べてないな?");
      break;
    case ui.Button.CLOSE:
      ui.alert("無視しないでよ!");
      break;
  }
}


※関連コンテンツ

「Google Apps Scriptプログラミング [中級編]」に戻る