Sorting 排序';全新外观';使用脚本的多参数Google电子表格

Sorting 排序';全新外观';使用脚本的多参数Google电子表格,sorting,google-apps-script,Sorting,Google Apps Script,我有一个电子表格,我们用它来跟踪生产车间的工作,并根据一些标准对它们进行排序,如到期日、验证日期、订单日期等等。我们已经使用谷歌文档近2年了,所以每个人都可以从他们的办公桌上看到他们的工作在哪里。在整个过程中,以下代码位于onEdit()触发器中: 前天,我们收到了“在谷歌新外观下查看您的工作表”的消息,然后排序停止工作。我现在得到错误: Sort range must include all columns on a form sheet. 参考sortList.sort行 有人知道如何在新

我有一个电子表格,我们用它来跟踪生产车间的工作,并根据一些标准对它们进行排序,如到期日、验证日期、订单日期等等。我们已经使用谷歌文档近2年了,所以每个人都可以从他们的办公桌上看到他们的工作在哪里。在整个过程中,以下代码位于onEdit()触发器中:

前天,我们收到了“在谷歌新外观下查看您的工作表”的消息,然后排序停止工作。我现在得到错误:

Sort range must include all columns on a form sheet.
参考sortList.sort行


有人知道如何在新的和改进的系统下按不同的参数对谷歌表单进行排序吗?

因此,问题似乎在于,所讨论的页面是表单提交的目标,而新系统不喜欢这种情况

此后,我将表单目标更改为同一工作表中的新页面,并使用onEdit和on form response触发器添加了以下函数:

function FormResponse() {
var newRow = FRMpage.getLastRow();
var newEntry = FRMpage.getRange(newRow, 1, 1, 11).getValues();
if (newEntry[0][10] != true) {
  WIPpage.appendRow([newEntry[0][0], newEntry[0][1],newEntry[0][2],newEntry[0][3],newEntry[0][4],newEntry[0][5],newEntry[0][6],newEntry[0][7],newEntry[0][8],newEntry[0][9]]);
  FRMpage.getRange(newRow, 11).setValue(true);
  sortSheet();
  }
}
其中,sortSheet()是问题中的原始函数

如果有一种方法可以让旧系统正常工作,而不必再添加另一个工作表并不断运行此功能,我仍然会很感激,但这似乎目前正在起作用

这不是世界上最漂亮的答案,但希望它能帮助其他有同样问题的人


编辑:我忘了提到我手动将“True”列添加到响应表中。表单上没有,因为我不希望填写表单的人看到它。

这可能会有所帮助:排序方法中的参数是数组。很抱歉,原始代码实际上是方括号格式,错误代码是“排序范围必须包括表单上的所有列”。我将更改问题。
function FormResponse() {
var newRow = FRMpage.getLastRow();
var newEntry = FRMpage.getRange(newRow, 1, 1, 11).getValues();
if (newEntry[0][10] != true) {
  WIPpage.appendRow([newEntry[0][0], newEntry[0][1],newEntry[0][2],newEntry[0][3],newEntry[0][4],newEntry[0][5],newEntry[0][6],newEntry[0][7],newEntry[0][8],newEntry[0][9]]);
  FRMpage.getRange(newRow, 11).setValue(true);
  sortSheet();
  }
}