Google sheets 脚本不会在FormSubmit上触发:根据列删除Google表单响应的Google工作表中的重复项

Google sheets 脚本不会在FormSubmit上触发:根据列删除Google表单响应的Google工作表中的重复项,google-sheets,duplicates,google-forms,Google Sheets,Duplicates,Google Forms,我正在尝试使用以下代码删除基于列的旧的重复表单响应 该代码的贷方为: 我的脚本中的代码是: function removeDuplicates() { var ss = SpreadsheetApp.getActiveSpreadsheet(), responses = ss.getSheetByName('Name of Source Sheet'), range = responses.getDataRange(), numRows = range.getNu

我正在尝试使用以下代码删除基于列的旧的重复表单响应

该代码的贷方为:

我的脚本中的代码是:

function removeDuplicates() {
 var ss = SpreadsheetApp.getActiveSpreadsheet(),
     responses = ss.getSheetByName('Name of Source Sheet'),
     range = responses.getDataRange(),
     numRows = range.getNumRows()-1,
     data = range.getValues(),
     columnHeadings = [data[0]],
     newData = [];
 for (var i=numRows; i>0; i--) {
  var row = data[i],
      duplicate = false;
  for (var j in newData) {
   if (row[4] == newData[j][4]) {
    duplicate = true;
// [4] is the column number from the 1st column. the above would be 1 + 4 = 5th column 
  }
  }
  if (!duplicate) {
   newData.push(row);
  }
 }
 var final = ss.getSheetByName('Name of Destination Sheet');
 if (!final) {
  var final = ss.insertSheet('Name of Destination Sheet');
 } 
 final.clearContents();
 final.getRange(1,1,1,columnHeadings[0].length).setFontWeight('bold').setValues(columnHeadings);
 final.getRange(2, 1, newData.length, newData[0].length).setValues(newData);
}
这已设置为在表单提交时触发。它适用于新表单提交

但是,当使用“表单编辑URL”编辑现有响应时,这些值不会更新到新工作表中

但是,如果手动运行该函数,则更新的行将更新为新工作表

我如何解决这个问题?任何帮助都将不胜感激。谢谢。

来自Web应用程序SE

我刚刚做了一个测试,发现表单提交事件不是 在编辑响应时触发

我不确定表单提交触发器是否按预期工作,如果 以上是由于一个错误或故障。当然,将问题发布到 这个

作为一种解决方法,使用 另一种运行脚本的方法,如时间驱动触发器

工具书类

此问题已交叉发布到->(目前没有任何答案)