如何通过Google脚本编辑现有的Google表单项

阿比

我有一个Google脚本来构建Google表单。该脚本使用包含问题和相应选项的电子表格填写表单。

表格中显示的问题需要定期更新。我希望通过如下更改电子表格中的问题来更新表单中的问题:

1)我对脚本使用OnOpen,以便每次访问表单时,脚本都会重建最新的表单。

但是,当前,每次我运行脚本时,都会向表单中添加一个新问题,而以前的过时问题仍保留在表单中,因此,旨在通过脚本编辑from上已经可用的问题以更新它以显示最新的问题。问题。我找不到在Google脚本中编辑现有表单问题的方法。有人知道出路吗?

问题和选项会定期在电子表格中更新,

谷歌表示,可以手动编辑表单的任何方式也可以通过App脚本来完成

我希望脚本能够自动编辑问题。但是,我为找到能够在表格上编辑已经存在的问题的功能而进行的所有尝试都是徒劳的!(PS:我发现的所有功能都可以创建一个新问题及其选项/无法编辑现有表单问题/选项)

任何人都知道Google应用脚本的这种功能。

有任何解决上述目标的方法吗?

提前致谢!:)

艾伦·威尔斯(Alan Wells)

要使用Apps脚本向Google表单添加项目(问题),必须使用正确的“添加”项目方法。并且有许多不同的“添加”项目方法。

https://developers.google.com/apps-script/reference/forms/form?hl=zh_CN

  • addListItem()
  • addCheckboxItem()
  • ETC。

我只计算了16种不同的“添加”项目方法。对于每种类型的问题,都有不同的“添加项目”方法。问题类型为:

  • 复选框
  • 日期
  • 约会时间
  • 期间
  • 网格
  • 列表
  • 多项选择
  • PARAGRAPH_TEXT
  • 规模
  • 文本
  • 时间

为了更新现有项目,代码必须首先按项目的类型获取该项目,并且有许多不同的方法可以按其类型获取项目。

  • asCheckboxItem()
  • asDateItem()
  • asListItem()
  • ETC

例如:

var myCheckBoxItem = FormApp.openById(id).getItemById(id).asCheckboxItem();

一旦代码已获得的项目作为正确的项目,你可以改变它以同样的方式,你首先创建它。

function editFormItem() {
  var form = FormApp.getActiveForm();
  var allItems = form.getItems();
  var i=0,
      thisItem,
      thisItemType,
      myCheckBoxItem;
  
  for (i=0;i<allItems.length;i+=1) {
    thisItem = allItems[i];
    thisItemType = thisItem.getType();
    Logger.log('thisItemType: ' + thisItemType);
    
    if (thisItemType===FormApp.ItemType.CHECKBOX) {
      myCheckBoxItem = thisItem.asCheckboxItem();
      myCheckBoxItem.setChoiceValues(values)
    };
  };
};

上面的脚本不完整。您需要以某种方式匹配新更改所附带的内容。如果您所有的表单问题都是相同的项目类型,那么您无需测试项目类型是什么。

有3种类型的getItems()项目不是问题项。他们是:

  • 图像
  • 分页符
  • SECTION_HEADER

因此,如果您的表格中有这3种,则应检查项目类型。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何通过Google脚本编辑现有的Google表单项

来自分类Dev

Google Apps脚本:如何编辑/修改现有脚本

来自分类Dev

Google Apps脚本:如何编辑/修改现有脚本

来自分类Dev

通过脚本创建新事件时,覆盖现有的Google日历事件

来自分类Dev

从外部js文件编辑现有的Google地图

来自分类Dev

如何通过安装脚本更新现有的cms页面

来自分类Dev

Google表单编辑链接不会提交现有值,仅提交使用Google脚本时已更改的值?

来自分类Dev

如何产生一个网址来编辑我现有的Google日历活动之一?

来自分类Dev

如何等待所有用户通过Google脚本以编程方式响应Google表单?

来自分类Dev

如何通过键盘有效地搜索和选择现有的Google Chrome浏览器标签?

来自分类Dev

使用 google 脚本将 .csv 文件导入现有的 google sheet。格式问题。

来自分类Dev

使用R编辑现有的Google文档电子表格

来自分类Dev

如何通过php脚本将项目添加到现有的json文件中

来自分类Dev

如何为现有的Google Android项目生成google-services.json?

来自分类Dev

如何将现有的Google工作表插入Google电子表格?

来自分类Dev

如何使用现有的 jmeter 脚本创建 jmeter 脚本

来自分类Dev

如何在vim中编辑现有的键映射?

来自分类Dev

您如何编辑现有的Tensorboard Training Loss摘要?

来自分类Dev

雪花-如何获取现有的表SQL脚本

来自分类Dev

通过Google App脚本在Google表格上编辑多行时如何获得真实范围

来自分类Dev

如何重用现有的验证码/令牌来访问Google云端硬盘?

来自分类Dev

如何生成汇总报告。jtl 和 ResultsTable.csv 通过 Taurus 执行现有的 JMeter 脚本

来自分类Dev

(Udacity + GAE)创建一个表单以编辑现有的NDB实体

来自分类Dev

如何通过dom元素访问现有的地图对象?

来自分类Dev

如何通过ssh(cmus)控制现有的终端程序

来自分类Dev

如何通过 API 解决现有的 PayPal 争议

来自分类Dev

如何通过 VBA 更改 PowerPoint 中现有的 Tabstop?

来自分类Dev

Laravel编辑现有的pdf

来自分类Dev

在iOS中编辑现有的plist

Related 相关文章

  1. 1

    如何通过Google脚本编辑现有的Google表单项

  2. 2

    Google Apps脚本:如何编辑/修改现有脚本

  3. 3

    Google Apps脚本:如何编辑/修改现有脚本

  4. 4

    通过脚本创建新事件时,覆盖现有的Google日历事件

  5. 5

    从外部js文件编辑现有的Google地图

  6. 6

    如何通过安装脚本更新现有的cms页面

  7. 7

    Google表单编辑链接不会提交现有值,仅提交使用Google脚本时已更改的值?

  8. 8

    如何产生一个网址来编辑我现有的Google日历活动之一?

  9. 9

    如何等待所有用户通过Google脚本以编程方式响应Google表单?

  10. 10

    如何通过键盘有效地搜索和选择现有的Google Chrome浏览器标签?

  11. 11

    使用 google 脚本将 .csv 文件导入现有的 google sheet。格式问题。

  12. 12

    使用R编辑现有的Google文档电子表格

  13. 13

    如何通过php脚本将项目添加到现有的json文件中

  14. 14

    如何为现有的Google Android项目生成google-services.json?

  15. 15

    如何将现有的Google工作表插入Google电子表格?

  16. 16

    如何使用现有的 jmeter 脚本创建 jmeter 脚本

  17. 17

    如何在vim中编辑现有的键映射?

  18. 18

    您如何编辑现有的Tensorboard Training Loss摘要?

  19. 19

    雪花-如何获取现有的表SQL脚本

  20. 20

    通过Google App脚本在Google表格上编辑多行时如何获得真实范围

  21. 21

    如何重用现有的验证码/令牌来访问Google云端硬盘?

  22. 22

    如何生成汇总报告。jtl 和 ResultsTable.csv 通过 Taurus 执行现有的 JMeter 脚本

  23. 23

    (Udacity + GAE)创建一个表单以编辑现有的NDB实体

  24. 24

    如何通过dom元素访问现有的地图对象?

  25. 25

    如何通过ssh(cmus)控制现有的终端程序

  26. 26

    如何通过 API 解决现有的 PayPal 争议

  27. 27

    如何通过 VBA 更改 PowerPoint 中现有的 Tabstop?

  28. 28

    Laravel编辑现有的pdf

  29. 29

    在iOS中编辑现有的plist

热门标签

归档