Google Apps Scriptでダイアログを表示するには?
Google Apps Script(GAS)は、Googleスプレッドシートやドキュメントの自動化に便利なスクリプト言語です。
その中でも、ユーザーに「確認メッセージ」や「情報提示」を行う場面で役立つのが、ダイアログ表示機能です。
この記事では、もっともシンプルにダイアログを表示できるBrowser.msgBox()について、実用的なコード例とともに初心者向けに解説します。
Browser.msgBoxの基本構文と使い方
Browser.msgBox()は、Google Apps Scriptにおける標準的なダイアログ表示関数です。
基本構文
Browser.msgBox(message);
または、次のように引数を増やして詳細を設定することもできます:
Browser.msgBox(title, prompt, buttons);
| 引数 | 説明 |
|---|---|
title | ダイアログのタイトル |
prompt | メッセージの本文 |
buttons | 表示するボタン(例:OK、キャンセルなど) |
👉 Browser.msgBox()|Google公式リファレンス
【コード例】シンプルなメッセージを表示する方法
まずは、もっとも簡単な使い方から見てみましょう。これは、ユーザーにメッセージを伝えるだけのダイアログです。
📌 例:メッセージのみ表示するダイアログ
function showMessage() {
Browser.msgBox("こんにちは!これはメッセージボックスです。");
}
🔍 実行結果
「こんにちは!これはメッセージボックスです。」という内容のポップアップが表示されます。
ユーザーは「OK」ボタンを押すだけでダイアログを閉じることができます。

このような使い方は、処理完了の通知や単純な注意喚起に便利です。
OKキャンセルの確認ダイアログを表示する方法
より実用的なケースでは、ユーザーに「OK」「キャンセル」などの選択を促すことがあります。その場合は、ボタンの種類を指定して確認ダイアログを表示できます。
📌 例:OK / キャンセル付きの確認メッセージ
function confirmAction() {
var result = Browser.msgBox("確認", "本当に実行しますか?", Browser.Buttons.OK_CANCEL);
if (result === "ok") {
Logger.log("ユーザーがOKを選択しました。");
} else {
Logger.log("ユーザーがキャンセルを選びました。");
}
}

🔍 解説
title:「確認」と表示されますprompt:「本当に実行しますか?」というメッセージBrowser.Buttons.OK_CANCEL:OKとキャンセルの2つのボタンを表示resultにはクリックされたボタン(”ok”または”cancel”)が文字列として格納されます
このようにして、処理前にユーザーの同意を取るフローが簡単に実現できます。
使用できるボタンの種類と返り値一覧
Browser.msgBox()では、以下のように用途に応じてさまざまなボタンセットを表示することができます。ユーザーがどのボタンを押したかは、関数の戻り値として取得できるため、それに応じた処理分岐も可能です。
ボタンと返り値の対応表
| 使用する定数 | 表示されるボタン | 押されたときの返り値(文字列) |
|---|---|---|
Browser.Buttons.OK | OK | "ok" |
Browser.Buttons.OK_CANCEL | OK / キャンセル | "ok" または "cancel" |
Browser.Buttons.YES_NO | はい / いいえ | "yes" または "no" |
Browser.Buttons.YES_NO_CANCEL | はい / いいえ / キャンセル | "yes"、"no"、または "cancel" |
🔍 コードでの判定例
たとえば、「はい/いいえ/キャンセル」で処理を分岐したい場合は、以下のように記述します:
function confirmWithYesNoCancel() {
var response = Browser.msgBox("確認", "この操作を実行しますか?", Browser.Buttons.YES_NO_CANCEL);
if (response === "yes") {
Logger.log("ユーザーが『はい』を選びました。");
} else if (response === "no") {
Logger.log("ユーザーが『いいえ』を選びました。");
} else {
Logger.log("ユーザーがキャンセルしました。");
}
}
💡 補足ポイント
- 返り値はすべて小文字の文字列で返ってきます(例:
"ok"、"cancel")。 - スペルミスに注意し、文字列比較は厳密な一致(
===)で行いましょう。
スプレッドシートで使う際の注意点
Browser.msgBox()を使用する際は、いくつかの注意点があります。
❗ スプレッドシートやUIがあるアプリでのみ利用可能
Browser.msgBox()は、GoogleスプレッドシートやGoogleドキュメントの「UI」がある環境でのみ使用可能です。スタンドアロンのGASプロジェクトや、トリガーで実行されるコードなどでは表示されません。
スタンドアロン型については、以下の記事で解説をしています。
まとめ:GASでの確認ダイアログ表示はmsgBoxが便利!
Google Apps Scriptでユーザーに何らかのメッセージや確認を促したい場合、Browser.msgBox()を使えば簡単に実現できます。
✅ ポイントまとめ
Browser.msgBox("メッセージ")でOK付きダイアログをすぐ表示できるBrowser.Buttons.OK_CANCELなどで選択肢付きの確認ダイアログも作れる- ユーザーの選択結果は変数で取得して処理分岐に使える
- スプレッドシートなどのUI付きGAS環境で利用しよう



