• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

更改了onEdit事件的行

google-apps-script 来源:user3186165 9次浏览

需要获取Google Spreadsheet中已更改行的rownumbers。更改了onEdit事件的行

该电子表格有很多行并根据特定列计算SUM。当我删除列中的值时,必须计算新的SUM。当我更改1行时,这很好用,但我经常选择多于一行的列并删除内容。我的期望是onEdit事件将被解雇不止一次。

之后,我希望getRange函数给我rownumbers,但它不是。

function onEdit() 
{ 
    var as = SpreadsheetApp.getActiveSheet(); 

    var edditRow = SpreadsheetApp.getActiveRange().getRow(); 
    var edditColumn = SpreadsheetApp.getActiveRange().getColumn(); 

    LKfunctions.RecalcalculateTimes(edditRow, edditColumn); 
} 

希望有一些很好的建议如何解决这个问题。

===========解决方案如下:

.getRow()只返回范围的第一个行号。

.getNumRows()返回范围内的行数。

我建议你把它们加在一起,并用循环来重新计算。类似这样的:

function onEdit() 
{ 
    var as = SpreadsheetApp.getActiveSheet(); 
    var r = as.getActiveRange(); 
    var numRows = r.getNumRows(); 
    var edditRow = r.getRow(); 
    var edditColumn = r.getColumn(); 
    for (var i=edditRow; i<edditRow+numRows; ++i) { 
    LKfunctions.RecalcalculateTimes(i, edditColumn); 
    Logger.log('Editted row ' + i); 
    } 
} 

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)