スキップしてメイン コンテンツに移動

GASで作る確認ダイアログ

GASで作る確認ダイアログ

GAS基礎とメッセージボックス

Google Apps Script(GAS)は、Google Workspace のサービスを自動化するためのスクリプト言語です。初心者が最初に触れるときは、メッセージボックスを使ってユーザーに情報を伝える方法がよく使われます。メッセージボックスは、スクリプトの実行結果を簡単に確認できるため、デバッグやユーザー対話の入り口として最適です。

基本的な構文は次のようになります。

function showMessage() {
  Browser.msgBox('処理が完了しました!');
}

この例では、Browser.msgBoxを呼び出すだけで、ブラウザにポップアップが表示されます。GAS基礎を学ぶ際に、まずはこのような簡単なメッセージボックスから始めると、スクリプトの実行フローを直感的に把握できます。

Browser.msgBoxとui.alertの使い分け

GAS には Browser.msgBoxui.alert の二種類のメッセージ表示関数があります。Browser.msgBox はスクリプトエディタやスプレッドシートのセルから実行したときに、ブラウザ全体に表示されるシンプルなダイアログです。一方、ui.alertSpreadsheetApp.getUi() などで取得した UI オブジェクトを介して表示され、スプレッドシートのウィンドウ内に埋め込まれたダイアログとして扱われます。

使い分けのポイントは次の通りです。

  • スプレッドシートやドキュメントの UI 内で表示したい場合は ui.alert
  • スクリプトエディタから直接実行したときに表示したい場合は Browser.msgBox

以下は ui.alert の例です。

function showUiAlert() {
  var ui = SpreadsheetApp.getUi();
  ui.alert('スプレッドシート内で表示されるメッセージです。');
}

確認ダイアログと入力プロンプトの実装例

ユーザー対話をよりインタラクティブにするために、確認ダイアログ(はい/いいえ)や入力プロンプト(prompt)を組み合わせることができます。これにより、ユーザーに操作の確認や追加情報の入力を求めることができます。

以下は確認ダイアログを表示し、ユーザーが「はい」を選択した場合に入力プロンプトを表示するサンプルです。

function confirmAndPrompt() {
  var ui = SpreadsheetApp.getUi();
  var confirm = ui.alert('続行しますか?', ui.ButtonSet.YES_NO);
  if (confirm == ui.Button.YES) {
    var response = ui.prompt('名前を入力してください:');
    if (response.getSelectedButton() == ui.Button.OK) {
      ui.alert('入力された名前は ' + response.getResponseText() + ' です。');
    } else {
      ui.alert('入力がキャンセルされました。');
    }
  } else {
    ui.alert('処理を中止しました。');
  }
}

このように、ui.alertui.prompt を組み合わせることで、ユーザーに対して通知や確認、入力を行う一連のフローを簡潔に実装できます。通知機能としても活用でき、スクリプトの実行結果を即座にユーザーに伝えることが可能です。

この記事はAIによって作成されました。

コメント