首页 > 解决方案 > 将部分从一个表单复制到另一个表单

问题描述

我正在使用脚本来更新多个 Google 表单,这些表单共享相同的前两个页面/部分,但具有完全不同的第三页/部分。

例如,
表格 1:第 1 页 > 第 2 页 > 第 3 页 > 提交
表格 2: 第 1 页 > 第 2 页 > 第 4 页 > 提交
表格 3: 第 1 页 > 第 2 页 > 第 5 页 > 提交

我知道我可以在第 2 页上提出一个指向 3、4 或 5 的问题,具体取决于该问题的答案。但是,客户请求了三种具有不同 URL 的不同表单,排除了这种可能性。

目前,我分别更新了所有三个表格:
1. 从表格 1 中删除所有内容,然后从头开始重建。
2. 从 Form 2 中删除所有内容,然后从头开始重建。
3. 从 Form 3 中删除所有内容,然后从头开始重建它。

我的问题是:有没有办法生成第 1 页和第 2 页,然后将它们“复制”到所有三种形式?
1. 重建第 1 页和第 2 页(例如在虚拟表格上)。
2. 将第 1 页和第 2 页复制到表格 1。重建第 3 页。
3. 将第 1 页和第 2 页复制到表格 2。重建第 4 页。
4. 将第 1 页和第 2 页复制到表格 3。重建第 5 页。

我也知道我可以用第 1 页和第 2 页制作一个表格,然后将该表格复制三遍并使用这些副本。但是,客户希望 URL 通过表单更新保持不变。我无法使用副本,因为复制表单会为其生成一个新 URL。我必须更新已经存在的表格。

想法?

标签: google-apps-scriptgoogle-forms

解决方案


在这个问题上,我看到了几个潜在的问题:

  1. 表格结构

    • FormApp 通过使用多种项目来管理问题、“页面”和“部分”,这些项目都可以使用Interface Item来处理。这些项目之间没有容器或父子关系。
  2. 复制项目

    • FormApp 不包含项目的复制方法,但可以将相同的属性对象设置为多个项目。
  3. 保持相同的网址

    • Google 表单网址是唯一的,不能重复使用。有报告称表单无法使用,因此最好做好准备以防万一(不要承诺表单 URL 永远不会改变)。一种方法是使用参数来处理表单 ID/URL,而不是对它们进行硬编码。

推荐阅读