Google Apps Script

ちょっとした文字列入力に!「Google Apps Script」でインプットボックスを使うには?

ちょっとした文字列入力に!「Google Apps Script」でインプットボックスを使うには?
Googleドキュメントやスプレッドシートを使っているとき、ちょっとした文字列を「Google Apps Script」に送りたいことがあります。
例えば、ドキュメントをエクスポートするタイミングでファイル名を入力したい、というケース。

そういう時に、入力するテキストボックスみたいなのが出てくると便利ですよね。
言い方は色々あり、インプットボックス、プロンプト、ダイアログ、などなど。

それを出すには、JavaScriptであれば「prompt()」、Pythonであれば「input()」を使いますが、じゃあ「Google Apps Script」なら?
その方法をまとめました。

 

スプレッドシートの場合

「Browser.inputBox()」を使うのが簡単です。
入力した文字列が戻り値として返ってきます。

function test() {
  var a = Browser.inputBox('何か入力してください')
  console.log(a);
}

これを実行すると、スプレッドシートの画面に次のようなボックスが現れます。
ちょっとした文字列入力に!「Google Apps Script」でインプットボックスを使うには?

ここに入力した文字列が「Google Apps Script」で使えるというわけ。
ちなみに「Browser.inputBox()」を使う方法は、スプレッドシートのみです。
詳細は、Browser.inputBox()の公式リファレンスをご覧ください。

 

ドキュメントの場合

ドキュメントアプリに対して「.getUi().prompt()」を使います。
入力した内容は「.getResponseText()」で取得できます。

function test() {
  var a = DocumentApp.getUi().prompt('何か入力してください').getResponseText();
  console.log(a);
}

これを実行すると、ドキュメントの画面にボックスが現れます。
ちょっとした文字列入力に!「Google Apps Script」でインプットボックスを使うには?

入力した文字列は「Google Apps Script」の変数へ。
この方法は、スプレッドシートアプリに対しても使えますし、もしかしたら他のGoogleアプリでも使えるかもしれません。
prompt()の詳細は、公式リファレンスをご覧ください。

 

まとめ

「Google Apps Script」でインプットボックスを使うには、「Browser.inputBox()」や「.getUi().prompt()」を使います。
「.getUi().prompt()」はドキュメントでもスプレッドシートでも使えるので、とりあえずこちらを覚えるのが良いでしょう。

-Google Apps Script
-, , , , , , , , , , , , , ,