2017-08-03 52 views
2

我需要检查Google电子表格中最后5行是否为空。检查最后5行 - Google工作表中有多少空行

我有这样的代码:

function addRow() { 
    var ss = SpreadsheetApp.getActive(); 

    var sh = ss.getActiveSheet(), lRow = sh.getLastRow(); 

    var lCol = sh.getLastColumn(), range = sh.getRange(lRow,1,1,lCol); 

    sh.insertRowsAfter(lRow, 10); 
    range.copyTo(sh.getRange(lRow+1, 1, 10, lCol), {contentsOnly:false}); 
} 

当最后5个行是不是空的,运行此代码与“上编辑”功能。

回答

1

sh.getMaxRows()方法可用于获取表单中的总行数,无论它们是否具有内容。然后从最大行中减去最后一行,以获得末尾有多少行为空。要在编辑表单时执行此操作,您必须“安装”触发器。从编辑菜单中,单击“当前项目的触发器”并添加新的触发器。

function addRow() { 
    var howManyEmptyRows,sh,ss,lCol,lRow,range,totalRowsInSheet; 

    ss = SpreadsheetApp.getActive(); 
    sh = ss.getActiveSheet(); 
    lRow = sh.getLastRow(); 

    totalRowsInSheet = sh.getMaxRows(); 
    Logger.log('totalRowsInSheet: ' + totalRowsInSheet) 

    howManyEmptyRows = totalRowsInSheet - lRow; 
    Logger.log('howManyEmptyRows: ' + howManyEmptyRows) 

    lCol = sh.getLastColumn(); 
    range = sh.getRange(lRow,1,1,lCol); 

    if (howManyEmptyRows < 6) {//There are 5 or less empty rows at the end of the sheet 
    sh.insertRowsAfter(lRow, 10); 
    range.copyTo(sh.getRange(lRow+1, 1, 10, lCol), {contentsOnly:false}); 
    } 

} 
相关问题