2016-05-22 68 views
0

我已經構建了一個電子表格,它使用onSubmit觸發器跟蹤表單響應。這很好。然後,我想在另一個電子表格上顯示部分電子表格,並且已經構建了一個腳本來執行此操作。通過程序編輯觸發onEdit觸發器

爲了確保第二張電子表格被動態更新並與第一張同步,我嘗試使用onEdit可安裝觸發器;然而,只有當我手動編輯電子表格1時,它纔可以編程編輯。任何解決方案?

回答

1

觸發器不觸發腳本所做的電子表格更改。我認爲這個想法是,作出改變的腳本也可以跟隨這些改變的任何後果。在你的情況,我看到三個解決方案:

  1. 如果你只是想「電子表格上的其他電子表格顯示部件」,然後importrange命令滿足,你不需要一個腳本來做到這一點。

  2. 表單提交觸發的功能可以修改目標電子表格本身。爲此,需要在表單提交上運行可安裝觸發器,因爲簡單的觸發器無法訪問其他電子表格。

  3. 如果您確實想要觸發附加到其他電子表格的腳本中的函數,則可以運行基於時間的觸發器來檢查電子表格的上次更新時間。

的#3實施例:可設置爲每5分鐘運行,以檢測任何種類的變化的函數。

function checkForUpdates() { 
    var updated = DriveApp.getFileById(SpreadsheetApp.getActiveSpreadsheet().getId()).getLastUpdated(); 
    if (new Date() - updated < 300000) { 
    // updated in the last 5 minutes, do something 
    } 
}