【GAS】inputBoxとpromptはどっちを使うべきか?|なぜinputBoxは非推奨なのか?(App Script,どちら?,理由)

AppScript appscript GAS-prograshi(プロぐらし)-kv AppScript
記事内に広告が含まれていることがあります。

Google App Script(GAS)では、ブラウザ上に入力ボックスを表示して、ユーザーが入力した値に従って処理を実行することができます。

代表的な表示方法として、「Browser.inputBox」と「クラス.getUi().prompt」があります。このうちGoogleは「Browser.inputBox」を推奨していません

つまり必然的に使うべきはui.promptメソッドになります。


inputBoxは非推奨

inputBoxが非推奨という警告はGoogle公式のAppScript > Class Browserのページに記載があります。

しっかりと、inputBoxではなく、UIプロンプトを使ってくれと記載があります。



なぜinputBoxは非推奨なのか?

そもそも、msgBoxがなぜ非推奨なのかというと、inputBoxメソッドが用意されているBrowserクラス自体がスプレッドシートでしか使えないためです。




なぜui.promptが推奨なのか?

AppScriptやGASというとスプレッドシートで使われることが多いですが、決してスプレッドシート専用ではありません。

AppScriptはより汎用的でGoogleドキュメントやスライド、フォームなどのGoogleが提供しているサービスでも使うことができます

ui.promptはGoogleドキュメントなどの他のサービスでも使うことができるより汎用的なメソッドになっています。

このためGoogleはBrowserクラスのinputBoxメソッドではなく、promptメソッドを推奨しているわけです。



Googleさんは神サービスをたくさん提供してくれている一方、使用率が低いサービスや合理性が低いメソッドなどをバッサリ使用停止にしていく傾向があります。(個人的にはこの思い切りが好きです)

今はまだinputBoxを使うことができますが、将来的には使えなくなる可能性があります。このため、今からui.promptに切り替えておくことを推奨します。


ui.promptの使い方


Browser.inputBoxとui.promptの互換性

ちなみに、「Browser.inputBox」と「ui.prompt」はほぼ完全といっていいぐらい互換性があります。

メソッドの基本的な構文も、実行した後の処理も同じです。


タイトルとURLをコピーしました