2015-10-01 99 views
0

我正在嘗試檢測兩個單元格的背景顏色更改。前一段時間,我創建了下面的Google工作表功能,並將其添加爲可安裝的觸發器從電子表格更改後,由於單元格顏色更改未在編輯時檢測到。我認爲它的工作,但我現在只是檢查它,並沒有檢測到哪個單元格的背景顏色被改變,任何想法?如何識別onChange函數中已更改的單元格

function onChangeInstallable(e) { 

    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var activeSheet = ss.getActiveSheet(); 
    var activeSheetName = activeSheet.getSheetName(); 

    if (activeSheetName == "Settings") { 

    if(e.changeType == "OTHER"){ 

     // makes it this far ok but following line returns 
     // #REF! instead of A1 notation of changed cell. 

     var editedRange = SpreadsheetApp.getActiveRange().getA1Notation(); 

     if (editedRange == 'B43' || editedRange == 'B44'){ 

     setBackgroundColors(); 

     } 
    } 
    } 
} 

還嘗試了以下操作,但它返回「單元格引用超出範圍」錯誤。

var editedRange = activeSheet.getActiveCell().getA1Notation(); 

回答

0

編輯:是這樣的情況下,仍然是斷開的,明星issue 3269投票修復

嘗試var editedRange = activeSheet.getActiveRange().getA1Notation();

活躍的電子表格已被傳遞到函數與e對象fyi。

var ss = e.source;

+0

不幸的是,也返回#REF!感謝有效電子表格上的信息已經通過e傳遞到函數中。 – MorningSleeper

+0

謝謝,我看到提交該報告的人提到它總是在我得到#REF!時返回A1,如果該報告與我發佈的內容相關,我有什麼想法可以說明我沒有得到A1? – MorningSleeper

相關問題