- Google Apps Scriptでスプレッドシート上にウィンドウを表示します。
- ウィンドウの内容はcreateHtmlOutputFromFileメソッドでHTMLファイルから読み込むことができます。
- setValueメソッドでセルに値を入力することができます。
var app = SpreadsheetApp; function onOpen(e){ showContentApp(); } function showContentApp(){ var html = HtmlService.createHtmlOutputFromFile('Contents').setTitle('Sample App').setWidth(300).setHeight(250); app.getActiveSpreadsheet().show(html); } function setRangeValue(arg){ app.getActiveRange().setValue(arg); }
・Contents.html
<link rel="stylesheet" href="https://ssl.gstatic.com/docs/script/css/add-ons.css"> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script> $(function(){ $('#btnOK').click(function(){ google.script.run.setRangeValue('Hello world.'); }); }); </script> <p><button id="btnOK" class="action">OK</button></p>
- show(userInterface)
- https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet?hl=ja#show%28Object%29
- getActiveRange()
- https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet?hl=ja#getActiveRange%28%29
- setValue(value)
- https://developers.google.com/apps-script/reference/spreadsheet/range?hl=ja#setValue%28Object%29
【編集後記】
先日からGoogle Apps Script(GAS)を触り始めました。
まだまだ分からないことだらけですが、とりあえずOffice 用アプリと同じようなことをGASでも出来るのではないかと思い、色々試しているところです。
今回の記事はOffice 用アプリでいうところの「コンテンツ アプリ」にあたります。
ウィンドウを表示するshowメソッドではUiInstanceオブジェクトも表示出来るみたいなのですが、いちいちボタンを追加したりラベルを追加したりというのが面倒だったので、Office 用アプリと同様HTMLから読み込む方法を採っています。
(コードの書き方がこれで合っているのか甚だ疑問ですが、とりあえず動くので良しとしています。)
この記事へのコメントはありません。