【发布时间】:2016-10-12 15:16:25
【问题描述】:
最近,我一直在进行一项调查。我开始在 Excel Forms Online 中创建它,但在我意识到它的几个缺点后切换到 Google Forms。我遇到了一些障碍,但我认为我已经准备好了。
不幸的是,我开始在表单中添加问题并更改响应(拼写错误等),这开始导致一大堆问题。如果适用,我必须返回并询问用户对新问题的回答就足够了。更糟糕的是我根本无法修改提交。我无法编辑连接到表单的电子表格,因为结果存储在表单中。如果我重新生成电子表格,那么表单中提交的响应将替换之前的任何内容。所以我根本无法编辑电子表格。
我一直在寻找一种方法来尝试手动编辑用户提交的回复。我找到了资源here on Stack Overflow 和here on Google Groups at the Products Forum,但不幸的是,我尝试了所有示例,但没有一个有效(是的,我将表单的 URL 放入所有内容中,并将名称替换为电子表格名称)。
我填写信息后继续收到的错误是TypeError: Cannot call method "getDataRange" of null. (line 8, file "Code")。但这张纸不是空的,我知道。
是否有其他方法可以完成这项工作,或者有更好的方法来编辑工作表响应?
目前执行此操作的唯一方法是手动返回并再次以该用户的身份重新提交表单。这有点痛苦,因为它需要 10 分钟的检查框和复制粘贴。另外,昨晚我不小心跳过了复制 1 个字符,现在我必须从头再来。
从我在网上看到的情况来看,这是可以做到的,但我没有尝试过。该表格目前处于活动状态并正在接受回复。任何解决方案都是可以接受的,只要有办法编辑他们的回复,无论是使用脚本还是其他工具,所以我不需要自己手动重新做所有事情。
【问题讨论】:
-
我认为
UrlFetchApp.fetch(url)需要用于发出 HTTPS GET 或 POST 请求以编辑表单中的数据。其中url是进行编辑的网址。我删除了我以前的 cmets。 -
我找不到任何“内置”方式来使用代码编辑现有响应。当编辑发送到表单时,我一直在尝试找出 url 和有效负载,但没有任何确定的内容。
-
@SandyGood:代码中有一个答案可以做到这一点,但它不再起作用了。见stackoverflow.com/questions/20410497/…
-
错误不是说您的工作表没有数据,而是说您尝试使用
getDataRange()的对象为空。正如@Rubén 建议的那样:我们需要查看更多代码才能了解原因。 -
相关(如果表单连接到电子表格):webapps.stackexchange.com/questions/89551/…
标签: google-apps-script google-sheets google-forms editing