如何在 Google Forms/Sheets 中编辑表单提交的回复?

How do I edit the response of a form submission in Google Forms/Sheets?

最近,我一直在进行一项调查。我开始在 Excel Forms Online 中创建它,但在我意识到它的几个缺点后切换到 Google Forms。我遇到了一些障碍,但我认为我已经准备好了。

不幸的是,我开始在表格中添加问题并更改回复(拼写错误等),这开始导致一大堆问题。如果适用,我必须返回并询问用户对新问题的回答就足够了。更糟糕的是我根本无法修改提交。我无法编辑连接到表单的 spreadsheet,因为结果存储在表单中。如果我重新生成传播sheet,那么在表单中提交的响应将替换之前的任何内容。所以我根本无法编辑点差sheet。

我一直在寻找一种方法来尝试手动编辑用户提交的回复。我找到了一个资源 here on Stack Overflow, and here on Google Groups at the Products Forum,但不幸的是,我尝试了所有示例并且 none 它们都有效(是的,我将表单的 URL 放入所有内容并将名称替换为传播sheet姓名)。

我在填写信息后继续收到的错误是 TypeError: Cannot call method "getDataRange" of null. (line 8, file "Code")。但是 sheet 不是空的,我知道。

是否有其他方法可以完成此工作,或者有可能编辑 sheet 回复的更好方法?

现在执行此操作的唯一方法是手动返回并再次作为该用户重新提交表单。这有点痛苦,因为要花 10 分钟来检查复选框以及复制和粘贴。另外,昨晚我不小心跳过了复制1个字符,现在我必须重新做一遍。

根据我在网上看到的,这是可以做到的,但我试过都不行。该表格目前处于活动状态并正在接受回复。任何解决方案都是可以接受的,只要有办法编辑他们的回复,无论是使用脚本还是其他工具,所以我不需要自己手动重新做所有事情。

code suggested here 有效,因为我刚刚在 2017 年 2 月 13 日亲自尝试过。

以下是我为使其正常工作所遵循的步骤

  • 首先,加载您的表单,就像您要编辑表单一样。
  • 在地址栏的 url 中查找表单的 "form id"。它应该看起来像这样:

https://docs.google.com/... /forms/d/1ZIrWiRZQrUsz1y8OBoeB7AtCOM4Ax4FxAQm8xAR1OYo/edit

  • 所以这个例子中的 id 应该是“1ZIrWiRZQrUsz1y8OBoeB7AtCOM4Ax4FxAQm8xAR1OYo”
  • 现在去https://script.google.com
  • Code.js 部分中显示的所有文本替换为以下内容,在您对其进行编辑并将您的表单 ID 替换为下面的 YOUR_FORM_ID_HERE 之后。

    function dumpEditResponseUrlsForYourForm() {
       // Change this next line to use the id of your form
       var myFormId = "YOUR_FORM_ID_HERE";
    
       var form = FormApp.openById(myFormId); 
       var formResponses = form.getResponses();
       for (var i = 0; i < formResponses.length; i++) {
         var formResponse = formResponses[i];
         Logger.log(formResponse.getEditResponseUrl());
       }
    }
    
  • 单击 Google 脚本网页中的 "View | Logs"。它会弹出一个 window,其中包含指向您的表单回复的链接。