根据 Google Sheets 电子表格中的动态数据更新 Google 表单字段
Update Google Forms field based on dynamic data from a Google Sheets spreadsheet
在Google表单中我们有一个下拉选择列表。
项目列表可能会随时更改。数据的主副本位于 google 文档电子表格的一列中。
当用户访问表单时,我们希望他们看到下拉列表的最新副本,就像电子表格中的当前副本一样。
我没有看到使用触发器执行此操作的明显方法。例如,onOpen 只触发表单的管理员,而不是用户。有什么方法可以使此表单自动保持最新状态?
这是我第一次使用 google 文档,但我在 excel 脚本方面非常有经验。
工作流程需要与您描述的有所不同。由于 Google Apps 脚本无法与访问表单的最终用户交互,因此无法对此做出反应。但是,您可以 对电子表格中的更改做出反应,并更新表单选项以为下一位最终用户做准备。
根据选项在电子表格中的更新方式,您可以在那里使用可安装的触发器来对编辑或更改做出反应。
如果表单与包含选项的电子表格关联,您可以分别使用 Spreadsheet.getFormUrl()
, then pass the URL to FormApp.openByUrl()
. Otherwise you will need to provide the ID or URL explicitly to FormApp.openById()
或 .openByUrl()
获取表单句柄。
该电子表格触发功能可以使用ListItem.setChoices()
or ListItem.setChoiceValues()
修改相关问题的可用选择。
在Google表单中我们有一个下拉选择列表。
项目列表可能会随时更改。数据的主副本位于 google 文档电子表格的一列中。
当用户访问表单时,我们希望他们看到下拉列表的最新副本,就像电子表格中的当前副本一样。
我没有看到使用触发器执行此操作的明显方法。例如,onOpen 只触发表单的管理员,而不是用户。有什么方法可以使此表单自动保持最新状态?
这是我第一次使用 google 文档,但我在 excel 脚本方面非常有经验。
工作流程需要与您描述的有所不同。由于 Google Apps 脚本无法与访问表单的最终用户交互,因此无法对此做出反应。但是,您可以 对电子表格中的更改做出反应,并更新表单选项以为下一位最终用户做准备。
根据选项在电子表格中的更新方式,您可以在那里使用可安装的触发器来对编辑或更改做出反应。
如果表单与包含选项的电子表格关联,您可以分别使用
Spreadsheet.getFormUrl()
, then pass the URL toFormApp.openByUrl()
. Otherwise you will need to provide the ID or URL explicitly toFormApp.openById()
或.openByUrl()
获取表单句柄。该电子表格触发功能可以使用
ListItem.setChoices()
orListItem.setChoiceValues()
修改相关问题的可用选择。