forms - 使用 Google 表单更新现有的 Google 表格

标签 forms google-apps-script google-sheets google-forms

我正在尝试构建一个 Google 表单,用来自 Google 表单的响应来填充现有 Google 表格的某些单元格。我还需要 Google 表单上的一些答案来自下拉式菜单中的电子表格。

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

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

前任:

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

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

2 | ..乔..| 99%......|信息 1................................................

我希望能够:

  • 使表单的第一个问题成为选择部门的下拉菜单,然后将根据与该部门对应的工作表制作其余问题的信息。
  • 第二个问题一个下拉菜单选择名称。这些名称将基于电子表格现有名称列中列出的名称。
  • 用于选择他们提交信息的特定周的下拉菜单。
  • 他们填写“信息 1”的填框问题。
  • 他们用“信息 2”填写的填框问题。

  • 提交时,表单会根据 (1) 找到正确的工作表,然后根据 (2) 找到正确的行,然后根据 (3) 找到正确的列,然后将 (4) 和 (5) 复制到相应的单元格中.

    是否有可能做到这一点?或者我是否需要为每个部门创建一个单独的表格?

    我对谷歌脚本并不熟悉,尽管我对 C++ 有经验并且有 Python 脚本的基本工作知识。

    最佳答案

    使用现有的 Google 表单很难实现(但并非不可能)。您不能使用 Google Apps 脚本来操作表单的显示以响应用户操作,就像您可以在从头开始编码的表单上使用 Javascript 一样。

    Google Apps Script 可以以与在表单编辑器中相同的方式生成和操作表单,并且可以在提交表单时触发它对响应采取行动,但它不能直接与用户交互。

    为了实现你想要的,你有几个选择。

    您可以设置一个带有逻辑分支的多页 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/

    关于forms - 使用 Google 表单更新现有的 Google 表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27163512/

    相关文章:

    javascript - html 表单上不需要的自动填充

    php - 如何解决ContextErrorException : Catchable Fatal Error:

    javascript - 单击按钮时删除/删除部分隐藏字段值

    javascript - 在 Apps 脚本中按 ID 合并两个数组数组

    google-apps-script - 在谷歌应用脚​​本中使用 Dall-E

    html - 如何使用表单标签元素发送数据?

    javascript - if 语句在条件满足后不停止

    google-apps-script - 有没有一种方法可以计算存储在单元格中的公式?

    java - Google 表格列数

    excel - 按每 N 个分隔符拆分文本并转置 Google 表格