如何使用 Google Apps 脚本编辑现有的 Google 表单项(问题)

2024-05-09

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

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

  1. I use onOpen()对于脚本,以便每次访问表单时,脚本都会重建最新的表单。

但是,目前每次我运行脚本时,都会将一个新问题添加到表单中,并且以前过时的问题仍然保留在表单上。 我需要使用脚本编辑表单上的现有问题以更新它以显示最新问题。 我找不到使用谷歌脚本编辑现有表单问题的方法。 有人知道怎么做吗?

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

我希望脚本能够自动编辑问题。 我所有试图找到一个能够编辑表单上已有问题的功能的尝试都徒劳无功! (PS:我发现的所有功能都能够创建新问题及其选项/但无法编辑现有的表单问题/选项)


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

每种类型的问题都有不同的方法。问题类型有:

  • CHECKBOX
  • DATE
  • DATETIME
  • DURATION
  • GRID
  • LIST
  • 多项选择
  • PARAGRAPH_TEXT
  • SCALE
  • TEXT
  • TIME

为了更新现有项目,代码必须首先通过项目类型获取该项目。这里有些例子:

  • asCheckboxItem()
  • asDateItem()
  • asListItem()
  • Etc

例如:

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

一旦代码获得了一个项目as正确的项目,您可以按照最初创建它的方式进行更改。

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)
    };
  };
};

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

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

  • IMAGE
  • 分页符
  • SECTION_HEADER

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Google Apps 脚本编辑现有的 Google 表单项(问题) 的相关文章

随机推荐

  • 适用于 Droid 手机的数学或 LaTeX 引擎 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 Android 手机有可用的数学或 LaTeX 引擎吗 我最喜欢的抽认卡应用程序 AnyMemo 似乎
  • React Native 将样式设置为 State

    我想用backgroundColor of style1作为一种状态 并在函数中改变它change 我怎样才能访问style1 我的观点是调用该函数change从另一个函数 使按钮将其颜色更改为黄色 然后在一段时间后再次将其颜色更改为蓝色
  • 为什么 UIWebView 实例不调用scrollViewDidScroll?

    iOS 文档说 UIWeb视图 http developer apple com library ios documentation uikit reference UIWebView Class Reference Reference h
  • 斯坦福自然语言处理:如何对单个单词进行词形还原?

    我知道如何注释一个句子并获取每个单词的引理 但如果我只想对一个单词进行词形化 我不知道该怎么做single单词 我试过 Annotation tokenAnnotation new Annotation wedding List
  • Javascript Firefox - 如果 @import 存在于样式表中,则无法查询 cssRules - bug 或预期行为?

    如果 import 存在于 css 样式表中 我无法查询 cssRules 是否符合网络标准 或者知道 Firefox 的限制 注意 我正在从同一域导入 css 文件 var style rules document styleSheets
  • Beaglebone Black 的 U-boot 无法构建 - 目标 CPU 不支持 THUMB 指令

    我正在尝试按照 Chris Simmonds 的 掌握嵌入式 Linux 编程 中的说明为 Beagle Bone Black 构建 u boot 我已经构建了交叉工具链 现在正在尝试使用该工具链构建 Das U boot 但由于不支持 T
  • Connect-AzAccount 无提示

    我正在尝试使用以下方式登录 Azure 门户 Connect AzAccount 此代码要求我输入我不想要的提示 我们可以使用一些简单的配置脚本自动登录吗 正如Joy所说 您可以通过凭据使用用户帐户登录 但不会出现任何提示 请确保您的帐户未
  • XAML 自定义文本框光标停留在输入开始处

    我正在致力于为 Windows 8 1 Universal UWP 的 XAML 应用程序创建自定义控件 并不断发现细微差别 我似乎找不到任何有关创建现有控件 如 TextBox 的自定义实现的优秀教程 因此我一直在浏览 Telerik 等
  • 流畅的 NHibernate 和 XML 列

    我正在从头开始构建一个新站点 并正在考虑使用 Fluent NHibernate 作为我的 ORM 我认为它可以轻松处理所有事情 可能除了我的 XML 列 我从来没有使用 NHibernate 构建过网站 尽管我使用过 Hibernate
  • 如何授权 Swagger 使用 MS Graph API

    我们正在为 MS Graph API 构建 Web API 包装器 我想使用 Swagger 来测试我的 API 但我无法正确配置 我不断收到错误请求 但没有其他线索 我无法在这台公司笔记本电脑上安装 Fiddler 或其他工具来帮助我进行
  • 在 Python 3 中动态导入模块的问题

    我遇到的情况是 在我的 Python 3 项目中 在运行时必须包含某些模块 我在用着importlib import module为了这 第二次更新 我确实找到了一种方法来做一些接近我想要的事情 一些额外的代码可能会使我的一些链接稍微偏离一
  • 如何使用 java/vb 脚本调用自定义 ActiveX dll 中的方法

    我使用 VB6 创建了一个 ActiveX dll 并使用打包和部署向导将其打包 生成了一个 cab 文件和一个演示 HTML 页面 此 ActiveX dll 包含一个 simgle 方法 该方法返回字符串且不接受任何参数 我遇到的麻烦是
  • PAM 在 C 中验证用户

    好吧 所以我是一个非常糟糕的编码员 我想知道 如标题所示 如何使用 C 语言通过 PAM 验证 Linux 用户 我唯一真正理解的是包括pam appl h and pam misc h我需要放置的头文件pam start and pam
  • 如何使用 Spring Security 跨多个基于 JVM 的应用程序实现单点登录

    我目前正在尝试跨多个基于 JVM Grails Servlet 的 Web 应用程序实现单点登录解决方案 这些应用程序目前都部署在同一个 servlet 容器 当前是 Tomcat 但不想将我的解决方案仅限于 Tomcat 中 所有 Web
  • 使用 Jest 和 Testbed 测试 Angular 9 服务

    在我的 Angular 9 项目中我添加了jest并删除Jasmine and Karma 我正在测试一项名为CorrectionService依赖于一个名为的服务RemoteService 我想监视RemoteService查看是否调用了
  • C# 中将一个字符串拆分为另一个字符串

    我一直在使用Split 分割字符串的方法 但这似乎仅在您按字符分割字符串时才有效 有没有办法分割一个string 另一个字符串是按参数分割的 我尝试将拆分器转换为字符数组 但没有成功 换句话说 我想分割string THExxQUICKxx
  • 如何使用 facebook API 在 javascript 中获取好友列表

    我不熟悉使用 Facebook Javascript SDK 我的故事是当我访问网站时它会在网页上显示我所有的朋友 照片和姓名 我注册了 Facebook API 和 App ID 我把网站网址设置为http 本地主机 81 http lo
  • 有条件填写 pandas 数据框

    我有一个数据框df列中包含浮点值A 我想添加另一列B这样 B 0 A 0 for i gt 0 B i if np isnan A i then A i else Step3 B i if abs B i 1 A i B i 1 lt 0
  • 将 PHP 变量保存到文本文件

    我想知道如何将 PHP 变量保存到 txt 文件 然后 再次检索它们 Example 有一个输入框 提交后写的东西 输入框将被保存到文本文件中 稍后需要结果 作为变量带回 假设变量是 text I 需要将其保存到文本文件并能够将其检索回来
  • 如何使用 Google Apps 脚本编辑现有的 Google 表单项(问题)

    我有一个谷歌脚本来构建谷歌表单 该脚本使用包含问题和相应选项的电子表格填写表单 表格中显示的问题需要定期更新 我希望通过更改电子表格中的问题来更新表单中的问题 如下所示 I use onOpen 对于脚本 以便每次访问表单时 脚本都会重建最