我一直拼凑一个脚本来删除一系列电子表格中特定标签的空行。它一直工作到必须删除行,抛出那些行超出范围错误。我遵循这种技术来删除行,这似乎对其他人有好的结果,所以我很难弄清楚为什么这不起作用。
我想也许是因为我超过了可删除行的数量1,但测试了它,并没有产生任何影响。
有什么想法吗?感谢您的投入!
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange(2,3,17);
var values = range.getValues();
for (var row in values){
for (var col in values[row]) {
var theUrl = values[row][col];
var openTheUrl = SpreadsheetApp.openByUrl(theUrl);
Logger.log(openTheUrl.getName());
var currentSheet = openTheUrl.getSheetByName("Aggregate");
Logger.log(currentSheet.getName());
var maxRows = currentSheet.getMaxRows();
var lastRow = currentSheet.getLastRow();
var deleteRows = maxRows-lastRow;
if (maxRows-lastRow != 0){
sheet.deleteRows(lastRow+1, deleteRows);
}
}
}
}
答案 0 :(得分:0)
在您的脚本中,我可以理解如下。
maxRows
打开的lastRow
检索到的currentSheet
和theUrl
来删除行。currentSheet
。如果我的理解是正确的,那么这个修改怎么样?
sheet.deleteRows(lastRow+1, deleteRows);
currentSheet.deleteRows(lastRow+1, deleteRows);
如果我误解了你的问题,我很抱歉。