スプレッドシートでユーザーにアクションを求める

ここで言うアクションは、

  • 通知を出して「OK」をクリックしてもらう
  • 「はい」か「いいえ」で答えてもらう
  • あることについて入力してもらう

などです。

スプレッドシートでユーザーにアクションを求める前に

上で挙げた系のメソッドはUiクラスで定義されています。スプレッドシートの場合これは、

const ui = SpreadsheetApp.getUi();

で取得することができます。以下uiは上記で取得した値とします。

スプレッドシートでアラートを出す

Ui#alertがあります。

const response = ui.alert('アラートです');

Image from Gyazo

responseにはユーザーが起こしたアクションの結果が入ります。この場合はButtonのタイプが返ります。

Button のタイプには以下のものがあります。

  • CLOSE xボタンで閉じた
  • OK 「OK」を選択
  • CANCEL 「キャンセル」を選択
  • YES 「はい」を選択
  • NO 「いいえ」を選択

ボタンのカスタマイズ

第二引数へButtonSetのプロパティを渡すことでボタンをカスタマイズできます。

ui.alert('アラートです', ui.ButtonSet.YES_NO_CANCEL);

Image from Gyazo

このボタンのタイプは以下の4つがあります。

  • OK はい
  • OK_CANCEL OK/キャンセル
  • YES_NO はい/いいえ
  • YES_NO_CANCEL はい/いいえ/キャンセル

タイトルをつける

引数を3つ渡すと、第一引数がタイトルになります。

ui.alert('アラートのタイトルです', 'アラートです', ui.ButtonSet.YES_NO_CANCEL);

Image from Gyazo

スプレッドシートでプロンプトを出す

プロンプトとは何かしら入力できるアラートみたいなものです。

const promptResponse = ui.prompt('名前');

Image from Gyazo

戻り値のpromptResponseは2つのメソッドを持っています。

  • getResponseText これは入力された文字列を取得
  • getSelectedButton これはボタンのタイプを取得(アラートと同じ)

こちらもアラートと同じで3つまで引数を設定することが可能です。