使用脚本使用多个参数对“新外观”Google电子表格进行排序

时间:2015-03-18 20:55:06

标签: sorting google-apps-script

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

function sortSheet() {
  var range = "A2:R250";
  var sortList = WIPpage.getRange(range);
  sortList.sort([{column: 8, ascending: false}, 6, 5, 10, 7, 2]);
}

前天,我们得到了#34;根据google"的新面貌检查了你的表格。消息,然后排序停止工作。我现在得到错误:

Sort range must include all columns on a form sheet.

引用sortList.sort行。

任何人都知道如何在新的和改进的系统下通过不同的参数对谷歌表进行排序?

1 个答案:

答案 0 :(得分:0)

所以问题似乎是有问题的页面是表单提交的目标,新系统并不喜欢。

我已经将表单目标更改为同一工作表中的新页面,并且我在onEdit和表单响应触发器上添加了以下函数:

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"列到响应表。这不在表格上,因为我不想让人们填写表格。