2015-10-01 98 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

相关问题