我正在爲其他教師創建一個系統來輕鬆跟蹤學生的進度。我爲每個學生準備了一張電子表格,並附有一張表格,供所有學生使用。該電子表格連接到它下面的腳本:Google Apps腳本未正確更新
function SheetNames() {
try {
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets()
var out = new Array(sheets.length+1) ;
for (var i = 1 ; i < sheets.length ; i++) {
out[i] = [sheets[i-1].getName()];
}
return out
}
catch(err) {
return "#ERROR!"
}
}
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Student List')
.addItem('Update Student List', 'SheetNames')
.addToUi();
}
在「概述」工作表,我有一個只包含=SheetNames()
細胞。當我第一次進入自定義函數時,列表會填充。當我打開電子表格時,菜單會按原樣添加。但是,當我單擊菜單項時,「概覽」工作表上的學生列表不會更新。無論如何要讓這個功能自動更新?
您可以將'SpreadsheetApp.flush()'添加到底部的'SheetNames()'函數中。 [Apps腳本文檔](https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet-app#flush) –
@SandyGood試過,仍然沒有運氣。我也嘗試命名函數'onEdit()'使其在每次編輯時自動更新,並且我嘗試添加基於時間的事件觸發器。我無法讓這個東西自動更新。 –