我在製作函數時每天都要在同一張工作表的兩張表之間更改活動工作表時遇到問題。SetActiveSheet()在編輯器中工作,但不會在時間驅動的觸發器上工作
當我手動運行它時,我的代碼在腳本編輯器中正常工作,但當設置爲時間驅動觸發器時,它根本無法運行。我從擁有工作表的帳戶運行它,並通過「當前項目的觸發器」設置觸發器。 我無法找到任何具體原因它不會在時間驅動的觸發運行
我想運行的代碼如下 -
// This function cycles the dashboards
function getCycled() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheetName = SpreadsheetApp.getActiveSheet().getName();
// ifs to make this cycle only if already displaying a DB
// If DB 2.0
if (sheetName == "Dashboard 2.0") {
// change to Q/S
ss.setActiveSheet(ss.getSheetByName("Quality/Safety"));
}
// If Q/S
if (sheetName == "Quality/Safety") {
// change to DB 2.0
ss.setActiveSheet(ss.getSheetByName("Dashboard 2.0"));
}
}
我已經甚至試圖進一步簡化代碼以做出基本改變。再一次,它在編輯器中運行得很好,但仍不會在時間驅動的觸發器上運行。這是我的代碼的問題,還是我不理解有關可安裝/時間驅動的觸發器?
function getCycledB() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.setActiveSheet(ss.getSheets()[0]);
}
預先感謝您
所以你會希望它是否有很多人在觸發時間,或者根本就沒有在紙張上的工作情況? (所以你明白爲什麼只有當特定的用戶從一個特定的瀏覽器實例運行它時,該函數纔有意義) –