題庫匯入Google表單

盈儒版本,將Excel題庫匯入Google表單,成為測驗,隨機順序


程式碼,步驟參考圖片,或者我錄製影片


程式碼參考彰化一整天blog做修改,建議下載雲端硬碟程式碼.txt


function create_quiz() {

var sheet=SpreadsheetApp.getActiveSheet(); //取得目前工作表

var examname = Browser.inputBox('題庫產生器', '請輸入考卷名稱', Browser.Buttons.OK_CANCEL); //考卷名稱

var form = FormApp.create(examname);

form.setIsQuiz(true); //設定表單為考試

form.setShuffleQuestions(true); //設定為隨機順序

var m=sheet.getLastColumn();//取得欄數

var n=sheet.getLastRow();//取得列數

var i,j;//迴圈變數

var score=100/(n-1); //計算每題分數

var answer;//正確答案

for(i=2;i<=n;i++){ //從第二列往下讀取

var item = form.addMultipleChoiceItem();//下拉選單

data=sheet.getRange(i,2).getValue();

answer=sheet.getRange(i,3).getValue();

item.setTitle(data);


var answers=[];//設定答案選項

for(j=4;j<=m;j++){ //從第4欄往右讀取

data=sheet.getRange(i,j).getValue(); //取得題目選項

answers[j-4]=item.createChoice(data, answer==(j-3)); //陣列從0開始,儲存格是從1開始

}

item.setChoices(answers);//填入選項

item.setRequired(true); //設為必填

item.setPoints(score);//設定每題分數

}

Logger.log('測驗網址: ' + form.getPublishedUrl());

Logger.log('編輯網址: ' + form.getEditUrl());


}



請按照下列欄位建置與輸入