【getSelectedButton】promptで作成したテキストボックスでクリックしたボタンの情報を取得する

GoogleAppsScript

【getSelectedButton】メソッドは

promptメソッドで生成したテキスト入力ボックスでクリックされたボタンの値を取得することができるメソッド

です。

 

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

 

また、promptメソッドについては別記事にて概要や使い方、使用例をまとめていますので、わからない方はまずこちらから確認されることをオススメいたします。

 

クラス

【PromptResponseクラス】

promptメソッドで生成されたテキストボックスに入力されたテキストデータやクリックされたボタンの情報はPromptRespnseクラスのオブジェクトとして記録されます。

 

PromptResponseオブジェクトからは本記事でご紹介するgetSelectedButtonメソッドでクリックされたボタンの情報を、getResponseTextメソッドで入力されたテキストのデータを取得することができます。

 

getResponseTextメソッドについては別記事にて詳しく解説しておりますのでそちらをご確認ください。

 

PromptResponseオブジェクトの取得方法

PromptResponseオブジェクトは下記のコードのようにpromptメソッドを記述したコードを変数に代入することで取得できます。

 

alertメソットもpromptメソッドと同じく処理コードを変数に代入することでクリックされたボタンの情報を取得します。

この場合、alertメソッドを書いたコードを変数に代入することで取得できるデータはButtonオブジェクトになるという点でpromptメソッドと大きく異なります。

promptメソッドはalertメソッドと違いクリックされるボタンデータだけでなくテキスト入力データも取得します。

そのため、一旦その2つのデータをまとめたPromptResponseオブジェクトを取得できるようにして、取得後にgetResponseTextメソッドやgetSelectedButtonメソッドでほしい情報を取得できるようにしています。

 

記述方法

 

変数responseはSpreadsheetApp.getUi().prompt(“入力してください”);などで取得したPromptResponseオブジェクトです。

特に引数などのプロパティ値を必要とせず、そのままgetSelectedButtonを書いてあげることでクリックされたボタン情報を取得することができます。

 

 

戻り値

【Button】

返り値はButtonオブジェクトになります。

文字列オブジェクトとは別物になりますので、例えば、「== “YES”」といった比較文を書いても期待通りの結果を返してくれないので注意してください。

 

「YES」をクリックされたかどうかを確認するには、Google Apps Scriptで用意されているButtonのEnumを利用して「== ui.Button.YES」と書いて比較してあげる必要があります。

Buttonについては以下の記事で詳しくご紹介しておりまので、記述する際の参考にしてください。

 

使用例

入力したメールアドレス宛にスプレッドシートから生成したPDFを添付して送信する機能

スプレッドシートで作成した資料や見積書などをPDF化してメールで送信する機会はそこそこあるのではないでしょうか?

でも、いちいちPDF化して、ダウンロードして、メールで送信して…ってものすごくめんどくさい!

ですので、入力したメールアドレス宛に勝手にメールを送信してくれる機能を設置しましょう!もちろん、PDF化も自動化してあります!

 

※…まぁ、PDF化してメール送信機能はスプレッドシートに標準機能として備わって入るんですけどね(^_^;)笑

送信内容などがあらかじめ決まっているのであれば、こちらの方法でメッセージを設定してしまったほうが文章作成の時間が短縮されますのでオススメです!

 

今回ご紹介したgetSelectedButtonメソッドはテキスト入力ボックスを×ボタンで閉じているかどうかの確認のために利用していますので確認してみてください!

 

このコードを実行すると、まずこのように送信先のメールアドレスの入力を求められます。こちらはpromptメソッドで実装しております。

メールアドレスを入力して「OK」をクリックすると、スプレッドシートのデータをPDFに変換し添付したメールを送信してくれます。

 

もし、メールアドレスの入力がなかった、「×」をクリックされた場合にはこのようにメールアドレスの入力がなかったという通知が出てメールが送信されません。

こちらはalertメソッドで実装しております。

 

関連メソッド

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

yoshi

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

シェアする

コメントを残す

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

コメントする