你可以嘗試創建一個Custom dialogs
一個自定義對話框可以顯示谷歌文檔,表格或表格編輯器中的HTML服務的用戶界面。
對話框打開時,自定義對話框不會掛起服務器端腳本。客戶端組件可以使用用於HTML服務接口的google.script API或用於UI服務接口的服務器處理程序對服務器端腳本進行異步調用。
Code.gs
function onOpen() {
SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
.createMenu('Custom Menu')
.addItem('Show dialog', 'showDialog')
.addToUi();
}
function showDialog() {
var html = HtmlService.createHtmlOutputFromFile('Page')
.setWidth(400)
.setHeight(300);
SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
.showModalDialog(html, 'My custom dialog');
}
page.html中
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<select>
<option>Delete</option>
<option>Move</option>
</select>
</body>
</html>
就這樣,嘗試閱讀HTML Service: Communicate with Server Functions
google.script.run
是一個異步客戶端的JavaScript API它允許HTML服務頁面調用服務器端的Apps腳本函數。以下示例顯示了客戶端JavaScript中的最基本功能google.script.run
- calling a function on the server。
這裏是一個示例代碼形式:
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<script>
// Prevent forms from submitting.
function preventFormSubmit() {
var forms = document.querySelectorAll('form');
for (var i = 0; i < forms.length; i++) {
forms[i].addEventListener('submit', function(event) {
event.preventDefault();
});
}
}
window.addEventListener('load', preventFormSubmit);
function handleFormSubmit(formObject) {
google.script.run.withSuccessHandler(updateUrl).processForm(formObject);
}
function updateUrl(url) {
var div = document.getElementById('output');
div.innerHTML = '<a href="' + url + '">Got it!</a>';
}
</script>
</head>
<body>
<form id="myForm" onsubmit="handleFormSubmit(this)">
<input name="myFile" type="file" />
<input type="submit" value="Submit" />
</form>
<div id="output"></div>
</body>
</html>
希望這有助於!
DId你可以看看[sidebars](https://developers.google.com/apps-script/reference/base/ui#showSidebar(Object))? –
是的,我確實研究過。然而,問題是我完全失去了如何在彈出窗口或邊欄中從我的工作表拉出的下拉菜單。然後,當我選擇記錄時,讓它回到工作表執行移動或刪除記錄。我很難包裝我的頭腦,我將如何在HTML頁面中使用它。如果我必須在Google腳本中完成這項工作,我可以做到這一點,但我只需要一點點指導,即如何從HTML頁面中綁定這些內容。謝謝 – User125