まず、スプレッドシートを新規作成してから、スクリプトエディタを起動し、以下のスクリプトを記述します。
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 件のコメント:
コメントを投稿