这是我第一次尝试使用谷歌脚本,所以请原谅我的经验不足。
我有一个电子表格,如果超过特定金额(我的情况下为8个),我希望删除行。
我认为这应该有用,但我必须遗漏一些东西。我的问题是没有删除任何行,但也没有给出任何错误。
function killNewRows() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var data = sheet.getDataRange();
if (data.length > 8) {
for (var row = data.length; row >= 9; row--) {
sheet.deleteRow(row);
}
}
}
答案 0 :(得分:0)
这种例程有特殊的方法......这是一个工作的例子:
function killNewRows() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var lastRow = sheet.getLastRow();
var maxRow = sheet.getMaxRows();
if(lastRow>8){
sheet.deleteRows(9, maxRow-8);
}
}
不过,请注意deleteRows(start,numberOfRows)
方法比每行逐个删除更快。
编辑:工作表示例here,制作您自己的副本,不要忘记从脚本编辑器>添加触发器资源>添加新触发器>来自电子表格>的onChange 强>
当然,您可以通过简单地添加一个调用此函数的“on change”触发器来自动完成。