我已经写了一个代码来清除我的谷歌电子表格自动使用应用程序脚本后的行数去大于100行。我用了一个1分钟的触发器来触发代码。行数大于2000,但未触发代码。我试着调试,得到以下错误:
这些行是越界的。(第10行,文件"Code")
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);
}
}
您试图从第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);
}
};