gpt4 book ai didi

google-apps-script - 如何使用 google Apps Script 编辑现有的 google 表单项(问题)

转载 作者:行者123 更新时间:2023-12-04 08:52:10 26 4
gpt4 key购买 nike

我有一个谷歌脚本来构建一个谷歌表单。该脚本使用包含问题和相应选项的电子表格填写表单。
表格中显示的问题需要定期更新。
我希望通过更改电子表格中的问题来更新表单中的问题,如下所示:

  • 我用 onOpen()用于脚本,以便每次访问表单时,脚本都会重建最新的表单。

  • 但是,目前每次我运行脚本时,都会在表单中添加一个新问题,而以前过时的问题仍然保留在表单中。
    我需要使用脚本编辑表单上的现有问题以更新它以显示最新问题。
    我找不到使用 google 脚本编辑现有表单问题的方法。
    有谁知道怎么做?
    电子表格中的问题和选项会定期更新。
    我希望脚本能够自动编辑问题。
    我试图找到一个能够编辑表单上已经可用的问题的功能的所有尝试都是徒劳的!
    (PS:我发现的所有功能都能够创建一个新问题及其选项/但不能编辑现有表单问题/选项)

    最佳答案

    为了更新现有项目(问题),代码必须首先根据项目类型获取该项目,并且有许多不同的方法可以按项目类型获取项目。
    每种类型的问题都有不同的方法。问题的类型是:

  • 复选框
  • 日期
  • 日期时间
  • 持续时间
  • 网格
  • 列表
  • MULTIPLE_CHOICE
  • PARAGRAPH_TEXT
  • 正文
  • 时间

  • 为了更新现有项目,代码必须首先根据项目类型获取该项目。这里有些例子:
  • asCheckboxItem()
  • asDateItem()
  • asListItem()

  • 例如:
    var myCheckBoxItem = FormApp.openById(id).getItemById(id).asCheckboxItem();
    一旦代码获得了一个项目 正确的项目,您可以按照最初创建它的方式对其进行更改。
    function editFormItem() {
    var form = FormApp.getActiveForm();
    var allItems = form.getItems();
    var i,
    L=0,
    thisItem,
    thisItemType,
    myCheckBoxItem;

    L = allItems.length;

    for (i=0;i<L;i++) {
    thisItem = allItems[i];
    thisItemType = thisItem.getType();
    //Logger.log('thisItemType: ' + thisItemType);

    if (thisItemType===FormApp.ItemType.CHECKBOX) {
    myCheckBoxItem = thisItem.asCheckboxItem();
    myCheckBoxItem.setChoiceValues(values)
    };
    };
    };
    上面的脚本是不完整的。您需要以某种方式将哪些项目与新更改相匹配。如果您所有的表单问题都是相同的项目类型,那么您就不需要测试项目类型是什么。 getItems() 返回的项目类型有 3 种。这不是问题项目。他们是:
  • 图片
  • PAGE_BREAK
  • SECTION_HEADER

  • 因此,如果您的表单中有这 3 个中的任何一个,您应该检查项目类型。

    关于google-apps-script - 如何使用 google Apps Script 编辑现有的 google 表单项(问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33309046/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com