如何使用 Google SpreadSheet 中的独特项目作为 Google 表单列表项目的选择?
How to use unique items from Google SpreadSheet as a choice to Google Forms List Item?
我是 Google 脚本的新手,现在我必须制作一个包含选项列表的表单。这些选择应从 Google sheet 中选取。
所以第一个问题是如何从我的价差 sheet 的某个范围内只选择唯一值?
二是如何传递这个列表,使它们成为列表中的项目?
我试过的代码是:
function getMembranesList() {
var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/......");
var itemList = ss.getSheetByName('Answers').getRange("Q1:Q").getValues();
var form = FormApp.getActiveForm();
var item = form.addListItem()
item.setTitle('test question');
item.createChoice(itemList);
}
查看可用于填充 ListItem
的方法,您必须选择一种方法并设置数据,使其与预期输入相匹配。对于我的示例,我选择了 setChoiceValues
方法,它查找一个数组。所以我必须将项目操作成一个数组。
getRange.getValues()
方法没有得到的一件事是列表中返回了多少非空白项。我使用 this quick way 来计算这些项目的数量,因此我的循环有一个最大界限。然后,我形成了 itemArray
并只向其中添加了非空白项。
之后,只需创建 ListItem 并添加值即可:
function getMembranesList() {
var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/...");
var itemList = ss.getSheetByName('Answers').getRange("Q1:Q").getValues();
var itemCount = itemList.filter(String).length;
var itemArray = [];
for (var i = 0; i < itemCount; i++) {
itemArray[i] = itemList[i];
}
var form = FormApp.getActiveForm();
var item = form.addListItem();
item.setTitle('test question');
item.setChoiceValues(itemArray);
}
我是 Google 脚本的新手,现在我必须制作一个包含选项列表的表单。这些选择应从 Google sheet 中选取。 所以第一个问题是如何从我的价差 sheet 的某个范围内只选择唯一值? 二是如何传递这个列表,使它们成为列表中的项目?
我试过的代码是:
function getMembranesList() {
var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/......");
var itemList = ss.getSheetByName('Answers').getRange("Q1:Q").getValues();
var form = FormApp.getActiveForm();
var item = form.addListItem()
item.setTitle('test question');
item.createChoice(itemList);
}
查看可用于填充 ListItem
的方法,您必须选择一种方法并设置数据,使其与预期输入相匹配。对于我的示例,我选择了 setChoiceValues
方法,它查找一个数组。所以我必须将项目操作成一个数组。
getRange.getValues()
方法没有得到的一件事是列表中返回了多少非空白项。我使用 this quick way 来计算这些项目的数量,因此我的循环有一个最大界限。然后,我形成了 itemArray
并只向其中添加了非空白项。
之后,只需创建 ListItem 并添加值即可:
function getMembranesList() {
var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/...");
var itemList = ss.getSheetByName('Answers').getRange("Q1:Q").getValues();
var itemCount = itemList.filter(String).length;
var itemArray = [];
for (var i = 0; i < itemCount; i++) {
itemArray[i] = itemList[i];
}
var form = FormApp.getActiveForm();
var item = form.addListItem();
item.setTitle('test question');
item.setChoiceValues(itemArray);
}