如何使用Google Apps脚本编辑现有Google表单项(问题) [英] How to Edit existing google form item (question) using google Apps Script
本文介绍了如何使用Google Apps脚本编辑现有Google表单项(问题)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个构建Google表单的Google脚本。该脚本使用包含问题和相应选项的电子表格填写表单。
需要定期更新表单中显示的问题。 我希望通过更改电子表格中的问题来更新表单中的问题:- 我使用
onOpen()
作为脚本,这样每次访问表单时,脚本都会重新构建最新的表单。
问题和选项在电子表格中定期更新。
我希望脚本能够自动编辑问题。 我所有的尝试都是徒劳的,我试图找到一个函数来编辑表单上已经可用的问题! (PS:我找到的所有功能都可以创建新问题及其选项/但不能编辑现有的表单问题/选项)
推荐答案
若要更新现有项(问题),代码必须首先按其项类型获取该项,并且有许多不同的方法可按其类型获取项。
每种类型的问题都有不同的方法。问题的类型包括:
- 复选框
- 日期
- 日期时间
- 持续时间
- 网格
- 列表
- 多项选择
- 段落文本
- 比例
- 文本
- 时间
为了更新现有项目,代码必须首先根据项目类型获取该项目。以下是一些示例:
- asCheckboxItem()
- asDateItem()
- asListItem()
- ETC
例如:
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脚本编辑现有Google表单项(问题)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文