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

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

Google App Script(GAS)では、ブラウザ上に「処理を実行してもいいですか?」といったユーザー確認用のダイアログを表示したり、OKやキャンセルボタンを表示することができます。

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

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


msgBoxは非推奨

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

しっかりと、msgBoxではなく、UIアラートダイアログを使ってくれと記載があります。



なぜmsgBoxは非推奨なのか?

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




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

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

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

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

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



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

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



Browser.msgBoxとui.alertの互換性

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

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



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