除了嵌到網站之中,或者執行發佈的網頁程式之外
也可以在SpreadsheetApp自訂功能選單
只是這個功能必須綁定自身文件
Google 應用程式的使用者介面環境範例,可讓指令碼新增選單、對話方塊和側欄等功能。指令碼只能在開啟編輯器的目前執行個體中與 UI 互動,且指令碼必須在編輯器容器繫結範圍內。
程式碼基本沿用 JS / 以Google sheets作為資料庫,透過Google Apps Script製作查詢頁面 修改版2
增加了以下程式碼
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
function onOpen() { SpreadsheetApp.getUi() // Or DocumentApp or SlidesApp or FormApp. .createMenu('查詢表單資料') .addItem('啟動表單', 'showDialog') .addItem('啟動側欄', 'showSidebar') .addToUi(); } function showDialog() { var html = HtmlService.createTemplateFromFile("index").evaluate(); html.setWidth(880); html.setHeight(500); SpreadsheetApp.getUi().showModalDialog(html, '查詢表單'); } function showSidebar() { var html = HtmlService.createTemplateFromFile("index").evaluate(); SpreadsheetApp.getUi().showSidebar(html); } |
function onOpen() {}是內建函數
當開啟文件時會執行的程序
這裡是透過getUi()建立使用者介面環境(UI)
增加兩個項目
一個是強制回應對話方塊 (不能點選其他內容)
function showDialog() {}
對話方塊可以設定寬高與標題
另一個是側欄
function showSidebar() {}
側欄的寬度是固定值(300)
備註:
var html = HtmlService.createTemplateFromFile(“index”).evaluate()
var html = HtmlService.createHtmlOutputFromFile(“index”);
兩者的差別
Template可以使用Scriptlet,這樣原本在index.Html的程式碼<?!= include(“style.css”); ?> 可以正常運作
HtmlOutput無法使用Scriptlet,原本的程式就要大幅修改了,或者直接將要引用的內容置入index.Html裡