【getResponseText】promptで作成したテキストボックスに入力されたテキストデータを取得する
【getResponseText】メソッドは
promptメソッドで生成したテキスト入力ボックスから入力されたテキストデータを取得することができるメソッド
です。
公式リファレンスの該当ページはこちら
また、promptメソッドについては別記事にて概要や使い方、使用例をまとめていますので、わからない方はまずこちらから確認されることをオススメいたします。
目次 [非表示]
基本情報
クラス
【PromptResponseクラス】
promptメソッドで生成されたテキストボックスに入力されたテキストデータやクリックされたボタンの情報はPromptRespnseクラスのオブジェクトとして記録されます。
PromptResponseオブジェクトからは本記事でご紹介するgetResponseTextメソッドで入力されたテキストのデータを、getSelectedButtonメソッドでクリックされたボタンの情報を取得することができます。
getSelectedButtonメソッドについては別記事にて詳しく解説しておりますのでそちらをご確認ください。
PromptResponseオブジェクトの取得方法
PromptResponseオブジェクトは下記のコードのようにpromptメソッドを記述したコードを変数に代入することで取得できます。
alertメソットもpromptメソッドと同じく処理コードを変数に代入することでクリックされたボタンの情報を取得します。
この場合、alertメソッドを書いたコードを変数に代入することで取得できるデータはButtonオブジェクトになるという点でpromptメソッドと大きく異なります。
promptメソッドはalertメソッドと違いクリックされるボタンデータだけでなくテキスト入力データも取得します。
そのため、一旦その2つのデータをまとめたPromptResponseオブジェクトを取得できるようにして、取得後にgetResponseTextメソッドやgetSelectedButtonメソッドでほしい情報を取得できるようにしています。
記述方法
変数responseはSpreadsheetApp.getUi().prompt(“入力してください”);などで取得したPromptResponseオブジェクトです。
特に引数などのプロパティ値を必要とせず、そのままgetResponeTextを書いてあげることで入力値を取得することができます。
返り値はStringオブジェクトですので、if文と比較演算子を利用した入力値を判定するプログラムなどに利用することができます。
使用例
入力したメールアドレス宛にスプレッドシートから生成したPDFを添付して送信する機能
スプレッドシートで作成した資料や見積書などをPDF化してメールで送信する機会はそこそこあるのではないでしょうか?
でも、いちいちPDF化して、ダウンロードして、メールで送信して…ってものすごくめんどくさい!
ですので、入力したメールアドレス宛に勝手にメールを送信してくれる機能を設置しましょう!もちろん、PDF化も自動化してあります!
※…まぁ、PDF化してメール送信機能はスプレッドシートに標準機能として備わって入るんですけどね(^_^;)笑
送信内容などがあらかじめ決まっているのであれば、こちらの方法でメッセージを設定してしまったほうが文章作成の時間が短縮されますのでオススメです!
今回ご紹介したgetResponseTextメソッドは入力されたメールアドレスのデータを取得するために利用していますので確認してみてください!
このコードを実行すると、まずこのように送信先のメールアドレスの入力を求められます。こちらはpromptメソッドで実装しております。
メールアドレスを入力して「OK」をクリックすると、スプレッドシートのデータをPDFに変換し添付したメールを送信してくれます。
もし、メールアドレスの入力がなかった、「×」をクリックされた場合にはこのようにメールアドレスの入力がなかったという通知が出てメールが送信されません。
こちらはalertメソッドで実装しております。
promptで受け取ったテキストの入力値がメールアドレスなのかどうかを正規表現などで確認するコードも入れておくとより良いプログラムになるでしょう。
関連メソッド
以下のメソッドも確認しておくと、よりduplicateActiveSheetを活用することが可能です。(後日追加予定)