我想使用 Google Apps 脚本来构建引用 Google 表格中的范围的表单字段下拉列表。
在尝试引用工作表中的范围之前,我构建了一个简单的数组(颜色)作为测试。
我正在尝试创建一个 forEach 循环,用数组填充表单字段。 forEach 循环仅将数组中的最后一个元素显示到字段中。
注意:我已经注释掉了 foreach 部分,但包含了直接添加字段选择的代码,这很有效。
任何方向将不胜感激。
function testone(){
const form = FormApp.create('Enter color');
const colorselect = form.addListItem();
colorselect.setChoices([colorselect.createChoice('red'), colorselect.createChoice('blue'), colorselect.createChoice("green"), colorselect.createChoice("black"), colorselect.createChoice("orange")]);
var colors = ["red", "blue", "green", "black", "orange"];
//colors.forEach(c)=> {
//colorselect.setChoices([colorselect.createChoice(c)]);
// console.log(c);
//});
// press Ctrl+Enter to see form urls
Logger.log('Published URL: ' + form.getPublishedUrl());
Logger.log('Editor URL: ' + form.getEditUrl());
}
在 forEach 循环中,您重复将选项定义为只有一个值,因此在循环结束时它只是最后一个值。 试试这个吧。 建立一系列选择
function testone(){
let form = FormApp.create('Enter color');
let colorselect = form.addListItem();
let colors = ["red", "blue", "green", "black", "orange"];
let choices = [];
colors.forEach( c => {
choices.push(colorselect.createChoice(c));
console.log(c);
}
);
colorselect.setChoices(choices);
// press Ctrl+Enter to see form urls
Logger.log('Published URL: ' + form.getPublishedUrl());
Logger.log('Editor URL: ' + form.getEditUrl());
}
参考