表单 Google 脚本防止重复

Alo*_*sai -4 google-apps-script google-forms

我正在制作一个谷歌表单,有一个名为 name 的字段,其中包含其他字段,如标题、公司和电子邮件地址。如果数据库中已经有一个特定的人,我希望其他信息用新信息替换旧信息(即更新功能),但我在使用 Google Apps 脚本时遇到麻烦,因为我找到了文档相当可悲。有人介意帮我一下吗?

Bry*_*n P 5

这不会阻止 Google 表单一开始就提交重复的值,但我认为你想要的看起来像......

function updateExisting() {
  var ss = SpreadsheetApp.getActiveSpreadsheet(),
      s = ss.getSheetByName('Sheet1'),
      lastRow = s.getLastRow(),
      lastValues = s.getRange('A'+lastRow+':E'+lastRow).getValues(),
      name = lastValues[0][0],
      allNames = s.getRange('A2:A').getValues(), 
      row, len;

  // TRY AND FIND EXISTING NAME
  for (row = 0, len = allNames.length; row < len - 1; row++)
    if (allNames[row][0] == name) {
      // OVERWRITE OLD DATA
      s.getRange('A2').offset(0, 0, row, lastValues.length).setValues([lastValues]);
      // DELETE THE LAST ROW
      s.deleteRow(lastRow);
      break;}
}
Run Code Online (Sandbox Code Playgroud)

这必须由工作表内的表单提交触发器触发。

文档可能会让人不知所措。他们通常只做 1 或 2 行示例,但如果您浏览完所有教程,就会发现更多完成的示例。开发人员更多地需要制作这些类型的脚本。