那些行超出范围。 (第10行,文件"代码")错误

时间:2016-08-20 04:50:00

标签: google-apps-script google-sheets google-spreadsheet-api

我已经编写了一个代码,可以在行数大于100行后使用app脚本自动清除我的Google电子表格。我使用1分钟触发器来激活代码。行数已超过2000但尚未触发代码。我试过调试并得到以下错误:

这些行超出范围。 (第10行,文件"代码")

 var ss = SpreadsheetApp.getActiveSpreadsheet();
 var sheet = ss.getSheets()[0];

 // This logs the value in the very last cell of this sheet
 var lastRow = sheet.getLastRow();
function a()
{
if(lastRow>=996)
{
   sheet.deleteRows(3, lastRow-1);
}
}

1 个答案:

答案 0 :(得分:1)

您正尝试从第3行删除总行数(lastrow -1)。
因此,如果总行数为1000,那么您尝试从第3行开始删除999行,这就是您收到错误的原因。

请尝试以下代码:

function a() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];
  var lastRow = sheet.getMaxRows();
  if(lastRow>100) {
    sheet.deleteRows(101, lastRow-100);
  }
};