使 Google 电子表格的行可在 Google 表单中编辑
Make rows of a Google spreadsheet editable in a Google form
我正在寻找一种方法来通过一个表格为跨页中的每一行共同编辑一个大的 Google 跨页sheet。sheet。 (我不想简单地向每个人授予对 spreadsheet 的访问权限,因为有些字段有多行并且很难直接在 spreadsheet 内部进行编辑。)
我已经成功地为 Is it possible to 'prefill' a google form using data from a google spreadsheet? and How to prefill Google form checkboxes? 的每一行创建了 pre-filled 表格。 (然后我可以创建一个视图作为 Awesome-table,每行都有一个按钮,打开对应于该行的 pre-filled 表单)。
但响应不会更新现有行,而是添加新行(奇怪的是,在第 2 行,保护 headers,但搞乱了 Awesome-table,需要在第 2 行中过滤信息).
如何制作一个 pre-filled 表格,在 sheet 的特定行写入?如果可能,创建 pre-fill 的同一行。也许使用一些由提交表单触发并取代标准录音的脚本?还是有其他完全不同的方式来编辑 Google spreadsheets 通过表格?
更新:
这比预期的要难得多,我终于回到了它。这是我最终一起破解的内容:
一个 spreadsheet 文件 document 有三个 sheets:
- main:主要数据
- temp:仅用于提交后自动添加的条目
- links: 保留主sheet
每一行对应的编辑链接和响应id
然后
- 可以从菜单触发的功能:在 main 的每行创建一个预填答案,提交,并将 url 和 id 放入 链接sheet。这些链接分发给不同的人,他们被要求通过表格更新他们行的预填信息。
- 附加到表单的 onFormSubmit 函数
- 在链接
中搜索具有正确响应 ID 的行
- 更新main
中的对应行
所以根本不用temp sheet,所有条目都是手动处理的。我没能做到的是允许在主 table 中进行手动更改并以相同的 ID 重新提交数据。 (我不想做一个全新的回复,因为链接已经分发了。)
预填 URL allways 将创建一个新的表单回复。相反,您应该使用 getEditResponseUrl() 返回的 URL。有关详细信息,请参阅其他问题
我正在寻找一种方法来通过一个表格为跨页中的每一行共同编辑一个大的 Google 跨页sheet。sheet。 (我不想简单地向每个人授予对 spreadsheet 的访问权限,因为有些字段有多行并且很难直接在 spreadsheet 内部进行编辑。)
我已经成功地为 Is it possible to 'prefill' a google form using data from a google spreadsheet? and How to prefill Google form checkboxes? 的每一行创建了 pre-filled 表格。 (然后我可以创建一个视图作为 Awesome-table,每行都有一个按钮,打开对应于该行的 pre-filled 表单)。
但响应不会更新现有行,而是添加新行(奇怪的是,在第 2 行,保护 headers,但搞乱了 Awesome-table,需要在第 2 行中过滤信息).
如何制作一个 pre-filled 表格,在 sheet 的特定行写入?如果可能,创建 pre-fill 的同一行。也许使用一些由提交表单触发并取代标准录音的脚本?还是有其他完全不同的方式来编辑 Google spreadsheets 通过表格?
更新:
这比预期的要难得多,我终于回到了它。这是我最终一起破解的内容: 一个 spreadsheet 文件 document 有三个 sheets:
- main:主要数据
- temp:仅用于提交后自动添加的条目
- links: 保留主sheet 每一行对应的编辑链接和响应id
然后
- 可以从菜单触发的功能:在 main 的每行创建一个预填答案,提交,并将 url 和 id 放入 链接sheet。这些链接分发给不同的人,他们被要求通过表格更新他们行的预填信息。
- 附加到表单的 onFormSubmit 函数
- 在链接 中搜索具有正确响应 ID 的行
- 更新main 中的对应行
所以根本不用temp sheet,所有条目都是手动处理的。我没能做到的是允许在主 table 中进行手动更改并以相同的 ID 重新提交数据。 (我不想做一个全新的回复,因为链接已经分发了。)
预填 URL allways 将创建一个新的表单回复。相反,您应该使用 getEditResponseUrl() 返回的 URL。有关详细信息,请参阅其他问题