在Google表单中对Google电子表格的行进行编辑

时间:2017-12-26 23:57:26

标签: google-apps-script google-sheets google-form

我正在寻找一种通过电子表格中每一行的表单集体编辑大型Google电子表格的方法。 (我不想简单地向所有人提供对电子表格的访问权限,因为有些字段有多行,而且很难直接在电子表格内编辑。)

我设法使用Is it possible to 'prefill' a google form using data from a google spreadsheet?How to prefill Google form checkboxes?为每行创建预填表单。 (然后我可以创建一个视图作为一个Awesome-table,每行有一个按钮,打开对应于该行的预填表格。)

但是响应不会更新现有的行,而是添加一个新行(第2行非常奇怪,保护标题,但是弄乱了第2行需要过滤器信息的Awesome表)。

如何制作一张预先填写的表格,该表格会写在纸张的特定行?如果可能的话,创建预填充的同一行。也许有一些脚本是由提交表格触发并取代标准录音?或者是否有其他方法可以通过表单编辑Google电子表格?

更新

这比预期的要困难得多,我终于回到了原点。这是我最终一起黑客攻击: 包含三张表的电子表格文档文档:

  • main :主要数据
  • temp :仅用于提交后自动添加的条目
  • links :保持与主要表格的每一行对应的编辑链接和响应ID

然后

  • 可以从菜单触发的功能:为每行创建一个预填充答案,提交,并将网址和ID放在链接表中。这些链接分发给不同的人,他们被要求通过表格更新其行的预填充信息。
  • 附加到表单的onFormSubmit函数
    • links
    • 中搜索具有正确回复ID的行
    • 更新 main
    • 中的相应行

因此根本不使用 temp 表,所有条目都是手动处理的。我设法做的是允许在主表中手动更改并重新提交相同ID下的数据。 (我不想做出全新的回复,因为链接已经分发。)

1 个答案:

答案 0 :(得分:1)

预填充的URL总是会创建一个新的表单响应。相反,您应该使用getEditResponseUrl()返回的网址。有关详细信息,请参阅此其他问题

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