我正在使用Google Apps脚本使用Google表单创建一些学生调查。我正在使用的问题类型是网格项。每一行都是关于老师的问题,每一栏都是评级(非常不同意,不同意等等)。
使用普通的Forms界面创建表单时,可以选择对网格项中的每一行请求响应。我搜索了所有文档,看来没有办法使用GAS设置它。我错过了什么或有任何解决方法吗?
我可以在创建所有表单后手动设置它,但是有很多课程和老师,所以这将非常耗时。
以下是目前的代码:
function createForm() {
var form = FormApp.create('Student Survey');
var questions = getQuestions();
var ratings = getRatings();
var grid = form.addGridItem();
grid.setTitle("Please answer the following questions about your teacher.");
grid.setRows(questions);
grid.setColumns(ratings);
grid.isRequired();
}
感谢您的帮助。
答案 0 :(得分:0)
这有点偷偷摸摸,但它就在那里!
每个行一个回复:使用GridItem's
.setRequired(true);
每个列一个响应:查看GridItem's setValidation()方法。您可以使用GridValidation构建GridValidationBuilder参数。 请参阅下面的代码的第二部分。
以下代码包含两种验证类型:
function createForm() {
var form = FormApp.create('Student Survey');
var questions = getQuestions();
var ratings = getRatings();
var grid = form.addGridItem();
grid.setTitle("Please answer the following questions about your teacher.");
grid.setRows(questions);
grid.setColumns(ratings);
grid.setRequired(true); //This part is to require one response per row
//This section requires one response per column.
var gridValidation = FormApp.createGridValidation()
.setHelpText("HELP TEXT")
.requireLimitOneResponsePerColumn()
.build();
grid.setValidation(gridValidation);
}