使用 onChange 觸發器時是否有任何方法可以指定電子表格的選項卡。
我有一個運行良好的函式,但是由于在我的電子表格中的幾個選項卡中有參考并且事情發生了變化,所以函式會觸發幾次。我試過這樣的東西,但它只適用于編輯而不是改變。
function Button(e) {
// Get the sheet where the data is, in sheet 'Notif Inv'
var sheet = e.source.getActiveSheet();
if (sheet.getName() === 'Trigger') {
listFolers();
}
SpreadsheetApp.flush();
Utilities.sleep(sec*1000);
SpreadsheetApp.flush();
FolderMaker();
createFoldersTasks_();
createFolderByTask_();
createFolders_();
createFolderInFolder_();
isFolderInFolder_();
}
uj5u.com熱心網友回復:
執行一次 createSpreadsheetOpenTrigger(onChange 是可安裝的觸發器,而不是 onEdit)
然后,您將獲得要更改某些內容的作業表的名稱。然后,您可以與您的設定進行比較。
function createSpreadsheetOpenTrigger() {
if(isTrigger('button')) {return}
var ss = SpreadsheetApp.getActive();
ScriptApp.newTrigger('button')
.forSpreadsheet(ss)
.onChange()
.create();
}
function isTrigger(funcName) {
var r=false;
if(funcName) {
var allTriggers=ScriptApp.getProjectTriggers();
var allHandlers=[];
for(var i=0;i<allTriggers.length;i ) {allHandlers.push(allTriggers[i].getHandlerFunction())}
if(allHandlers.indexOf(funcName)>-1) {r=true}
}
return r;
}
function button(e){
Browser.msgBox(e.source.getActiveSheet().getName())
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/410892.html
標籤:
