Google表格:这些行超出范围错误

时间:2017-05-01 01:21:58

标签: google-apps-script google-sheets

我是编写代码的新手,我正在努力想出一个从表单中提供信息的电子表格。我已经搜索并搜索了这个问题的答案好几天了但是如果没有一些帮助我无法自己解决这个问题。所以帮助! :)

我的脚本所做的是每晚根据触发器创建工作表的副本,以便我每天都有表单响应的记录。我想在每次创建新工作表时删除(不清除)除前6行之外的所有行,因此每次给出响应时表单都会添加行。我不断得到 那些行超出范围。 (第17行,文件" DailyClear") 当我尝试运行脚本时。

这是我所拥有的

function dailyclear(e)
{
  var ss = SpreadsheetApp.getActiveSpreadsheet(); 
  var sheet = ss.getSheetByName('Today');

  sheet.copyTo(ss)
  var nusheet = ss.getSheetByName('Copy of Today')
  var value = nusheet.getRange("B2").getCell(1,1).getValue()
  SpreadsheetApp.setActiveSheet(nusheet)

  Logger.log("Current index of sheet: %s", nusheet.getIndex())
  ss.moveActiveSheet(2);
  nusheet.setName(value);

  //Clear "Today"
  var lastrow = sheet.getLastRow()
  sheet.deleteRows(7, lastrow-6)

  //Set Date Value for "Today"
  var dd = Utilities.formatDate(new Date(), "GMT-5", "MM/dd/yy");
  sheet.getRange("B2").getCell(1,1).setValue(dd);
}

如果第7行为空并且唯一存在的行,则不允许我删除第7行并保留第1-6行而不抛出该错误。如果我开始在单元格中添加表单响应中的信息并开始创建行,并且我运行该脚本会引发错误 抱歉,无法删除所有非冻结行。 (第17行,文件" DailyClear") 。最重要的是,当创建一个新工作表时,我已准备好第7行准备好从表单填充的第一个响应,并且表单将第一天的第一个响应放在第8行并留下7空白!这让我发疯了......在我疯狂之前,有人为初学者推荐一本好书吗? :(感谢我能得到的任何帮助,这里是我的表格的链接..

https://docs.google.com/spreadsheets/d/1NZxXjMptx6ldzL2CKk6OwJcq_heIv995ZGVeIE59xNc/edit?usp=sharing

感谢任何可以提供帮助的人

1 个答案:

答案 0 :(得分:1)

如前所述,您无法删除所有非冻结行,因此第7行必须保留。也许缩小它并添加填充或一些格式,这样它就不会看起来像一个空行,然后无论如何都要在第8行输入数据,稍微改变你的脚本以适应:



var test = $('#searchBox').val();