Google Apps Scriptは、Googleスプレッドシートから始まりました。スプレッドシートのマクロ的な機能から次第にさまざまなGoogleサービスへと広がっていったのですね。このため、「スプレッドシートではいろいろできるけど、他のドキュメントでは使えない」なんて機能もありました。
特に問題だったのが、UI関係です。スプレッドシートでは、
Sheetの
addMenuで簡単に独自メニューを追加できましたし、Browserオブジェクトの
msgBoxや
inputBoxを使えば、メッセージボックスやテキスト入力ボックスが簡単に表示できました。けれどこれらはすべて、スプレッドシートの中でしか使えなかったのです。
が、Google Apps Scriptが次第に広まるにつれ、GASはスプレッドシート以外でも本格的に利用されるようになっていきました。そしてスプレッドシート以外でも、UIが作れるように拡張されていったのです。そのために用意されたのが「
Ui」というオブジェクトです。
Uiは、GASによるユーザーインターフェイスを管理するためのオブジェクトです。Google Appsのさまざまなアプリケーションでは、この
Uiが組み込まれています。アプリケーションからこのUiを取得し、そこから機能を呼び出すことで、そのアプリケーションにUIを追加することができるようになったのです。
――といっても、2013年6月現在、対応しているのはまだドキュメントとフォームのみです。おそらくこれから他のものにも少しずつ広がっていくのではないでしょうか。
この
Uiオブジェクトは「
getUi」で取得できます。以下のような形ですね。
変数 = 《DocumentApp/FormApp》.getUi();
これで、ドキュメントやフォームのUIを管理する
Uiオブジェクトが取得されます。
これらアプリケーションのオブジェクトから取得すればそのまま使えるということは、取得したオブジェクトがどのGoogle Appsのファイルを開いて表示されたものなのかがわからないといけません。つまり、これらはそのアプリに割り付けられたスクリプトで使われるもの、ということになります。
GoogleドキュメントやGoogleフォームを開き、そこにある
<ツール>メニューから
<スクリプトエディタ...>を選んで、そのアプリへ割り当てたスクリプトを開き、そこにスクリプトを記述してください。