我有一个Google脚本来构建Google表单。该脚本使用包含问题和相应选项的电子表格填写表单。
表格中显示的问题需要定期更新。我希望通过如下更改电子表格中的问题来更新表单中的问题:
1)我对脚本使用OnOpen,以便每次访问表单时,脚本都会重建最新的表单。
但是,当前,每次我运行脚本时,都会向表单中添加一个新问题,而以前的过时问题仍保留在表单中,因此,旨在通过脚本编辑from上已经可用的问题以更新它以显示最新的问题。问题。我找不到在Google脚本中编辑现有表单问题的方法。有人知道出路吗?
问题和选项会定期在电子表格中更新,
谷歌表示,可以手动编辑表单的任何方式也可以通过App脚本来完成
我希望脚本能够自动编辑问题。但是,我为找到能够在表格上编辑已经存在的问题的功能而进行的所有尝试都是徒劳的!(PS:我发现的所有功能都可以创建一个新问题及其选项/无法编辑现有表单问题/选项)
任何人都知道Google应用脚本的这种功能。
有任何解决上述目标的方法吗?
提前致谢!:)
要使用Apps脚本向Google表单添加项目(问题),必须使用正确的“添加”项目方法。并且有许多不同的“添加”项目方法。
https://developers.google.com/apps-script/reference/forms/form?hl=zh_CN
我只计算了16种不同的“添加”项目方法。对于每种类型的问题,都有不同的“添加项目”方法。问题类型为:
为了更新现有项目,代码必须首先按项目的类型获取该项目,并且有许多不同的方法可以按其类型获取项目。
例如:
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()
项目不是问题项。他们是:
因此,如果您的表格中有这3种,则应检查项目类型。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句