Как создать Google Form Quiz, используя Google Apps Script или GAS? - PullRequest
0 голосов
/ 12 марта 2020

Можно ли создать форму теста, используя GAS, из списка вопросов и ответов в электронной таблице? Я делаю словесный тест для учащихся Engli sh, на котором тестируемых просят ввести ответ на каждый вопрос. Я создал тест с несколькими вопросами или с переключателями ..., но я не смог импортировать ответы TEXT из электронных таблиц в тест типа TEXT.

У меня есть сценарий ниже ...

function myFunction() {
 var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
 var range = ss.getDataRange(); 
 var data = range.getValues();
 var numberRows = range.getNumRows();
 var numberColumns = range.getNumColumns();
 var firstRow = 1;
 var form = FormApp.openById('');

 for(var i=0;i<numberRows;i++){
  var questionType = data[i][0]; 
  if (questionType==''){
     continue;
  }
  else if(questionType=='TEXT'){
   form.addTextItem()
     .setTitle(data[i][1]) 
     .setHelpText(data[i][2])
     .setRequired(true);
  } 

Ответы [ 2 ]

1 голос
/ 12 марта 2020

Я был в восторге c, когда Google наконец позволил этому случиться с ГАЗОМ. Проверьте этот блог Google о создании теста с использованием GAS. Сценарий для отдельных вопросов показан ниже.

  // Make a 10 point question and set feedback on it
  var item = FormApp.getActiveForm().addCheckboxItem();
  item.setTitle("What flavors are in neapolitan ice cream?");
  item.setPoints(10);
  // chocolate, vanilla, and strawberry are the correct answers
  item.setChoices([
    item.createChoice("chocolate", true),
    item.createChoice("vanilla", true),
    item.createChoice("rum raisin", false),
    item.createChoice("strawberry", true),
    item.createChoice("mint", false)
  ]);
0 голосов
/ 12 марта 2020
  1. Ознакомьтесь с документацией образец
  2. Как только вы поймете, как это работает, начните с добавления addTextItem ()
  3. Адаптируйте его к своему листу / потребностям

Пример:

  • У меня есть этот список вопросов в столбце A:

enter image description here

  • А теперь я хочу преобразовать эти вопросы в эту форму:

enter image description here

  • Исходный код, который вы должны адаптировать к вашим потребностям:
function convertToForm(){

  const ss = SpreadsheetApp.getActive().getActiveSheet();
  const questionList = ss.getRange("A1:A7").getValues();

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

  questionList.forEach( (question) => { 
    const item = form.addTextItem();
    item.setTitle(question[0])
  })

  // press Ctrl+Enter to see form urls
  Logger.log('Published URL: ' + form.getPublishedUrl());
  Logger.log('Editor URL: ' + form.getEditUrl());

}

Ссылка:

...