how to create Multiple choice google form from spreadsheet

非 Y 不嫁゛ 提交于 2020-01-17 07:35:34

问题


I would like to create a MCQ from an existing spreadsheet that has this type of data :

Question    Choice 1 (correct answer)   Choice 2    Choice 3    Choice 4
Question 1  a                            b                 c    d
Question 2  d                            a                 b    c
Question 3  b                            a                 b    c

Thank you for your answer Chris, but this code :

function createForm(){
var form = FormApp.create('New Form');

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange(2, 1, sheet.getLastRow());
var values = range.getValues();

for (var i = 0; i < values.length; i++) {
form.addMultipleChoiceItem()
   .setTitle(values[i][1])
   .setChoiceValues([values[i][2],values[i][3],values[i][4]]); //Make another loop here if your Answers counts are different
}
}

displays unfilled questions, something like this : Form1 But what I would like to create should look like this at the end : Form2


回答1:


https://developers.google.com/apps-script/reference/forms/

 var form = FormApp.create('New Form');

 var ss = SpreadsheetApp.getActiveSpreadsheet();
 var sheet = ss.getSheets()[0];

 var range = sheet.getRange(2, 1, sheet.getLastRow());
 var values = range.getValues();

for (var i = 0; i < values.length; i++) {
    form.addMultipleChoiceItem()
       .setTitle(values[i][1])
       .setChoiceValues([values[i][2],values[i][3],values[i][4]]); //Make another loop here if your Answers counts are different
}



回答2:


Here what i have came out as a soultion :

    function createForm(){
var form = FormApp.create('New Form');

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange(2, 1, sheet.getLastRow());
var values = range.getValues();

 var ansRange1 = sheet.getRange(2, 2, sheet.getLastRow());
 var ansValues1 = ansRange1.getValues();

var ansRange2 = sheet.getRange(2, 3, sheet.getLastRow());
var ansValues2 = ansRange2.getValues();

var ansRange3 = sheet.getRange(2, 4, sheet.getLastRow());
var ansValues3 = ansRange3.getValues();

var ansRange4 = sheet.getRange(2, 5, sheet.getLastRow());
var ansValues4 = ansRange4.getValues();

for (var i = 0; i < (values.length)-1; i++) {
   form.addMultipleChoiceItem()
   .setTitle(values[i])
   .setChoiceValues([ansValues1[i],ansValues2[i],ansValues3[i],  ansValues4[i] ]); //Make another loop here if your Answers counts are different
}
}

But I'm still strugling how to make a correct answer and to give a number of point to the correct answer : without having to these two steps manually from forms. So if someone can help me figure that out he is more than welcome!



来源:https://stackoverflow.com/questions/42531062/how-to-create-multiple-choice-google-form-from-spreadsheet

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!