【Button】ButtonSetで設置したボタンからの入力値を示す

GoogleAppsScript

【Button】は

alert、promptメソッドで表示させるダイアログボックスにButtonSetのEnumにより設定された「はい」や「いいえ」などの入力値を示すことができるEnum

です。

 

ButtonSetにより設定されたプロパティ値が「YES_NO」の場合、表示されるダイアログボックスには「はい」と「いいえ」のボタンが表示されますが、

仮にButtonSetで設定されたボタンで「はい」をクリックされたという入力情報を取得したい場合、下記のコードではボタンからの入力値を取得することはできません。

 

ButtonSetから入力された「はい」の情報はButtonのEnumに用意された「YES」というプロパティ値を利用して下記のコードで判断をしてあげる必要があります。

詳しい記述内容や種類についてはこの先でご説明していきます。

 

公式リファレンスの該当ページはこちら

 

基本情報

Enum

Buttonはalertやpromptメソッドでダイアログボックスを作成する場合において、「はい」や「いいえ」などのボタンを設置するプロパティ値をまとめたEnumです。

alertやpromptメソッドで利用されることを想定されたenumであるため、他のメソッドなどで活用する場面は今のところありません。(2018年8月現在)

 

記述方法

Uiクラスオブジェクトに続けてButton、そしてButtonのEnumに用意されているプロパティ値を記述することでButtonに用意された値を呼び出すことができます。

Buttonに用意されたプロパティ値をすべて下記にまとめましたので記します。

設定値 取得できる情報
CLOSE ダイアログボックスを「×」で閉じるクリック
OK 「OK」のクリック
CANCEL 「キャンセル」のクリック
YES 「はい」のクリック
NO 「いいえ」のクリック

ButtonSetで設定されたボタンからの入力値を受け取る方法ですが、alertとpromptとでは少しやり方が異なりますので、入力値を取得する方法をそれぞれご紹介しておきます。

alertの場合

alertメソッドはアラート通知のダイアログボックスを生成するだけでなく、変数に代入するコードを書くことで、ButtonSetで設定されたボタンのうちどのボタンをクリックされたのかという情報を変数に格納する形で取得することができます。

上記の例ですと、alertメソッドでButtonテストのアラート通知ダイアログボックスを生成します。また、そのダイアログボックス内にある「はい」もしくは「いいえ」をクリックしたという情報が変数responseに格納されます。

変数に格納された回答情報はButtonnのEnumで用意されているプロパティ値と同じデータ形式の情報を持っていますので、response == ui.Button.YESのようにButtonのプロパティ値と比較して条件式を作成することができます。

promptの場合

promptメソッドはalertメソッドと違い、ButtonSetで用意したボタンクリックの情報だけでなく、テキストボックスへの文字入力の情報も取得することができます。

そのため、promptメソッドもalertメソッドと同じく変数に代入するコードを書くことで回答情報を取得することができるのですが、ボタンクリックの情報と文字入力の情報の2つが格納されたPromptResponseクラスのオブジェクトとして変数に情報が格納される点が特徴です。

上記の例では、回答情報を格納した変数responseに対してgetSelectedButtonメソッドを記述しています。

これは、変数response、中身はボタンクリック情報と文字入力情報の2つの情報を持つPromptResponseクラスオブジェクトからボタンクリックの情報だけを取り出すメソッドです。

PromptResponseメソッドを利用することでようやくButtonのEnumで用意されているプロパティ値と同じデータ形式の情報を取得することができます。

使用例

「本当に削除してよろしいですか?」メッセージの実装

スプレッドシートのシート上のデータをすべて削除するプログラムを実装します。このプログラムを実装する上で心配なのはうっかり処理開始ボタンを押してしまうなどして望まないデータ削除をしてしまうこと…。

そんなことにならないように、処理開始ボタンを押したときに「本当に削除してよろしいでしょうか?」とアラート表示されて、「はい」のボタンを押した場合のみ削除を行なう…という仕組みを実装します。

このように、念の為の確認通知はいろんな処理の実装で応用することができますので、覚えておくと良いでしょう。

このコードを実装することで、削除処理を行おうとした際には以下のアラートが表示されます。

「はい」をクリックするとそのまま削除処理が実行され、「いいえ」をクリックすると以下のように処理はキャンセルされましたというメッセージが表示されデータの削除がされずに処理を終了します。

関連メソッド

以下のメソッドも確認しておくと、よりButtonを活用することが可能です。(後日追加予定)

yoshi

JavaScript、Google Apps Scriptがメイン。Pythonもちょっとだけ。Google Apps Script開発、Pythonスクレイピングなどをする機会が多いです。ご依頼なども承っております。 記事内容についてのご意見・ご指摘などいただけますと幸いです。

シェアする

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

コメントする