使用Google表单更新现有的Google电子表格

时间:2014-11-27 05:14:29

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

我正在尝试构建一个谷歌表单,用Google表单上的回复填写现有谷歌电子表格的某些单元格。我还需要谷歌表单上的一些答案来自电子表格的下拉样式菜单。

组织目前正在使用现有的电子表格让其成员每周记录一些信息,但是,无论我纠正多少次,一些成员都会继续错误地填写表单。出于这个原因,我试图让这个过程更加自动化。

设置当前电子表格的方式是,组织的不同部门有多个工作表。在每个工作表中都有一列专用于该部门中的名称,该列的每一行都有不同的名称。还有专门针对特定周的列,因此第1周的信息表示放入D列和E列,第2周的信息表示F和G等。

EX:

#|名称|百分比| ...第1周...... | ......第2周.... | ....

1 | ..鲍勃.. | 0%..... .. |信息1 |信息2 |信息1 | INFO2 .. |

2 | ..Joe .. | 99%...... | INFO1 ..................................

我希望能够:

  1. 将形式的第一个问题作为选择分部的下拉菜单,然后根据与该分部对应的表单,将其余的问题信息作为基础。
  2. 第二个问题下拉菜单选择名称。名称将基于电子表格现有名称列中列出的名称。
  3. 一个下拉菜单,用于选择他们为其提交信息的特定周。
  4. 用“"信息1"
  5. 填写的填写框问题
  6. 用“"信息2"
  7. 填写的填写框问题

    提交时,表单会根据(1)找到正确的表格,然后根据(2)找到正确的行,然后根据(3)找到正确的列,然后将(4)和(5)复制到相应的细胞。

    有可能这样做吗?或者我是否需要为每个部门创建单独的表单? 您可以提供给我的任何帮助将非常感激。我对谷歌脚本没有任何熟悉,虽然我对C ++很有经验,并且具有python中脚本编写的基本知识。

1 个答案:

答案 0 :(得分:2)

使用Google表格库存很难实现(但并非不可能)。您无法使用Google Apps脚本来操纵表单的显示以响应用户操作,就像您在从头编写的表单上使用Javascript一样。

Google Apps脚本可以在表单编辑器中以与表单编辑器相同的方式生成和操作表单,并且可以在提交表单以响应操作时触发表单,但它无法直接与用户交互。

为了达到你想要的效果,你有几个选择。

您可以设置带有逻辑分支的多页Google表单以获取所需的表单行为,然后使用触发onFormSubmit()的Apps脚本来处理将数据移动到适当的位置。

或者您可以完全跳过使用库存Google表格,而是使用作为网络应用程序发布的Google Apps脚本来呈现表单,这样您就可以完全控制向用户显示的表单(HTML,CSS和Javascript),但您无法利用任何Google表单功能。您可以使用doGet()呈现表单,并使用doPost()处理提交。

第三种方法是两者的混合,设置几个单独的Google表单,并使用作为Web应用程序发布的Apps脚本显示第一个下拉菜单并将用户引导至相应的表单。然后,您可以使用每个Google表单的onFormSubmit()触发脚本来处理移动数据。

请参阅以下内容:

https://developers.google.com/apps-script/guides/triggers/events#google_forms_events

https://developers.google.com/apps-script/guides/web#deploying_a_script_as_a_web_app https://developers.google.com/apps-script/guides/html/