09:50■GUIコンポーネントを作成する※ここで説明する「UiApp」オブジェクトは、現在、非推奨となっており、近い将来、廃止される予定です。Webアプリケーションの作成には、HtmlServiceを利用下さい。ビルダーは、GUIを簡単に作成できるツールですが、欠点もあります。荒削りであるため、例えばいくつもの部品をパネルに組み込んだりすると、勝手に順番が変わったりすることがありますし、なにより動作が重く使い勝手も今ひとつです。ビルダーでは使えないGUIコンポーネント」というものもたくさんあったりするのです。したことを考えるなら、GUIを「スクリプトで作る」ということも頭に入れておく必要があるでしょう。ビルダーで作成するGUIは、すべてスクリプトで作ることができます。いうより、こっちが王道かも知れません。ビルダーなのですから。ビルダーで使われるUIコンポーネント類は、すべてオブジェクトとして用意されています。これらのオブジェクトを作成して組み込んでいき、UiAppから生成したUiInstanceに組み込んで表示させれば、どんなGUIもスクリプトで作って利用することができるのです。実際にやってみましょう。下のリスト欄に、ごく簡単なGUI画面作成のサンプル関数myFunctionを用意してみました。これを実行すれば、スプレッドシートで開いているシート上にテキストを表示したウインドウが現れます(閉じる機能はないので、リロードするなどしてください)。ここでは、前回使ったVerticalPanelを使って、複数のLabelを縦に並べた画面を表示しています。UiAppからUiInstanceを取得します。UiApp.createApplication();続いて、VerticalPanelオブジェクトを作成し、appに追加します。app.createVerticalPanel();app.add(panel);コンポーネントの作成は、UiInstanceに「create○○」といった名前のメソッドとして用意されています。Panelなら「createVerticalPanel」となるわけです。して作成したものを、addで組み込むだけです。続けて、2つのLabelを作成し、VerticalPanelに組み込みます。1つ目は、フォントサイズ、背景色、マージンといった属性を変更しておきます。app.createLabel("これは、スクリプトで作成したページです。");panel.add(l2);Labelの作成は、「createLabel」メソッドで行います。引数にテキストを渡すと、そのテキストを表示するLabelを作成します。作成後、プロパティの設定を行います。これは「setStyleAttribute」というメソッドを使います。);このようにしてコンポーネントの属性を変更できます。ビルダーでプロパティ設定したのをそのままスクリプトで行っているだけ、ですね。――最後にアクティブなスプレッドシートを取得し、UiInstanceを表示します。SpreadsheetApp.getActiveSpreadsheet();sheets.show(app);コンポーネントの作成と組み込みさえわかれば、それほど難しいわけではありません。ここではスプレッドシートに表示しましたが、サービスとして公開する場合も基本的な流れは同じです。下のリスト欄に、サービスを利用して、今のサンプルをWeb上に表示するよう修正した例もあげておきました。doGetで同じようにコンポーネントを作成していくだけです。app;するだけです。こちらのほうが、より簡単ですね。(※実は、もっとシンプルなやり方もあります。SYODA-Tuyano.)※プログラムリストが表示されない場合AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。app.createLabel("これは、スクリプトで作成したページです。app.createLabel("これは、スクリプトで作成したページです。※libroに関する情報は、libroページを御覧下さい。よるサービスを使用して広告を表示しています。アドレス、電話番号は含まれません)。