这是我的第一篇文章! :)
我正在尝试执行以下操作:
有一个事件,我必须在人们可以加入的时间内提供可用时间,并且每个选项都可以加入人数。 例如:
5/5 11:00-12:00 available 2 places.
5/5 12:00-13:00 full (10/10 joined)
5/5 13:00-14:00 available 6 places...
我决定用这个创建一个电子表格: 一行:事件日期时间; B排:人加入; C行:限制。
当某人发送表单时,B行会增加1,并且会使用新值更新选项。
Before:
5/5 11:00-12:00 available 2 places.
5/5 12:00-13:00 full (10/10 joined)
**5/5 13:00-14:00 available 6 places.**
Mr A joins to 3rd course.
After
5/5 11:00-12:00 available 2 places.
5/5 12:00-13:00 full (10/10 joined)
**5/5 13:00-14:00 available 5 places.**
发生这种情况时,选项会更新,执行以下操作:
//Code what updates the number in the sheet//
//Now we have to re-set the options//
var range=sheet.getRange("A1:C20"); //Take the new values
var options=[];
for (var i=0; i<range.length; i++)
if (conditions) options.push(range[i][0]); //charges the options
最后设置输出:
var multiplechoice=form.getItems(FormApp.ItemType.MULTIPLE_CHOICE[0].
asMultipleChoiceItem().setChoiceValues([options[0],options[1],...,options[19]]);
代码工作属性,但问题是最后一行:在灵活性方面不方便。在回收代码的情况下,我需要添加更多选项来重写代码。
我想这样做:
var multiplechoice=form.getItems(FormApp.ItemType.MULTIPLE_CHOICE)[0].
asMultipleChoiceItem().setChoiceValues([options]);
我试着这样做(.setChoiceValues([options]))但结果只是一个选项中的所有数组。我需要脚本将选项的每个元素识别为不同的元素。
但我不知道道路。 Y意识到有一个FormApp功能对我有帮助,但经过大量搜索后我找不到解决方案。
提前谢谢。
答案 0 :(得分:0)
删除options
周围的方括号,因此它看起来像setChoiceValues(options)
,它应该有用。
setChoiceValues()方法需要一维的字符串数组,但是使用方括号,你会给它一个二维数组,因为options
本身就是一个数组。