Google表格:这些行不受限制,无法找出原因

时间:2018-03-11 01:06:00

标签: javascript

我一直拼凑一个脚本来删除一系列电子表格中特定标签的空行。它一直工作到必须删除行,抛出那些行超出范围错误。我遵循这种技术来删除行,这似乎对其他人有好的结果,所以我很难弄清楚为什么这不起作用。

我想也许是因为我超过了可删除行的数量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);
  }
 }
}
}

1 个答案:

答案 0 :(得分:0)

在您的脚本中,我可以理解如下。

  • 您希望使用从maxRows打开的lastRow检索到的currentSheettheUrl来删除行。
  • 您要删除的行位于currentSheet

如果我的理解是正确的,那么这个修改怎么样?

来自:

sheet.deleteRows(lastRow+1, deleteRows);

致:

currentSheet.deleteRows(lastRow+1, deleteRows);

如果我误解了你的问题,我很抱歉。