2011年7月21日木曜日

【使えるパーツ】メッセージボックス(2)はい/いいえ/キャンセルの3択

「はい」「いいえ」「キャンセル」の3択のメッセージボックスを表示するサンプルです。


まず、スプレッドシートを新規作成してから、スクリプトエディタを起動し、以下のスクリプトを記述します。
function onOpen() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var menuEntries = [{name: "実行", functionName: "myFunction"}];
  ss.addMenu("拡張", menuEntries);
}
function myFunction() {
  var ret = Browser.msgBox("本当?", Browser.Buttons.YES_NO_CANCEL);
  if (ret == "yes") {
    Browser.msgBox("「はい」を選択!")
  } else if (ret == "no") {
    Browser.msgBox("「いいえ」を選択!")
  } else {
    Browser.msgBox("「キャンセル」を選択!")
  }
}

このスクリプトを保存し、スクリプトエディタも閉じます。


更に、スプレッドシートも保存し、スプレッドシートの画面も閉じます。


一旦閉じたスプレッドシートを開くと「拡張」メニューが追加されます。


「拡張」メニューから「実行」を選択すればメッセージボックスが表示されます。




このスクリプトのポイントは、3択のメッセージボックスを表示するためにBrowser.msgBoxの2番目の引数としてBrowser.Buttons.YES_NO_CANCELを指定する所です。「はい」が選択された時は、戻り値が "yes" となり、「いいえ」が選択された時は、戻り値が "no" となります。

【参考にしたサイト】
Base Services > Class Browser > method msgBox(prompt, buttons)
http://code.google.com/intl/ja/googleapps/appsscript/class_browser.html#msgBox
Help forum > Google Apps Script > Services > New undocumented features for the Browser Class
http://www.google.com/support/forum/p/apps-script/thread?tid=2c873afd7b9d40b2&hl=en

【ハマった個所】
参考にしたサイトのスペルが間違っていた。
誤:Browser.Button.YES_NO_CANCEL
正:Browser.Buttons.YES_NO_CANCEL



【おまけ】新ブログを開設しました。
『ExcelユーザーのためのGoogleスプレッドシート入門』
Excelはフツーに使えるよという方でも、Googleスプレッドシートを使った時にはアレッと思うことが結構あるものです。そういう方々向けの企画です。


0 件のコメント:

コメントを投稿