2017-08-18 80 views
0

我正在谷歌牀單腳本編輯器中運行一個腳本,以觸發我在當前項目的觸發器中使用onChange的腳本,使用特定功能 - > From Spreadsheet - > On change。在谷歌牀單腳本上使用onChange觸發器

值得一提的是,我使用了具有更改時間和時間數據的編輯權限的另外3個成員的工作表,我構建了該腳本並激活了觸發器。

當我更改表單中的任何內容時,我會收到警報(觸發器已啓用),但當其他成員更改數據時觸發器不起作用。

我在這裏錯過了什麼?

謝謝。

回答

0

每個人都需要一個觸發

您可以添加觸發器管理到程序中,讓他們在他們的項目中觸發了。 isTrigger()函數確保您只爲每個實例創建一個觸發器。您可以找到文檔here

function myTriggerSetup() 
{ 
    if(!isTrigger('functionName')) 
    { 
    ScriptApp.newTrigger('functionName').forSpreadsheet('Spreadsheet').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; 
}