iT邦幫忙

2021 iThome 鐵人賽

DAY 12
0
Software Development

一份考卷不夠你可以出兩份!用 google apps script 出線上考題系列 第 12

[DAY 12] 依選項前往區段

之前有提到單選題與下拉式選單都可以設定「依選項前往區段」
在這裡我們利用「座號」前往區段
連結「座號」與「區段」的方法可以自行設計
我使用的是餘數對應
例如共有10份考卷
則座號除以10餘 1 → 第一區段
座號除以10餘 2 → 第二區段...


在之前選擇題與下拉式選單中
創建選項時我們都使用.createChoice()
但是在選擇題的答題時
我們使用的是.createChoice(value, isCorrect)
也就是設定哪一個選項為正確答案

而要設定「依選項前往區段」時
要使用.createChoice(value, navigationItem)
其中的 navigationItem 就是要前往的區段


function seat2PageBreak(formID){
    var form = FormApp.openById(formID);
    var seat_num = 35; // 應考座號
    var pb_id = ["你的區段ID"];
    var num_list = []
    
    for (var i = 0; i < seat_num; i++){
        num_list.push(seat_num.createChoice(i+1, form.getItemById(pagebreak_ss[i%quiz_num][0]).asPageBreakItem()));
  }
}

我習慣每次製造一個區段時
就記錄他的Item ID
也可以考慮用 form.getItems(FormApp.ItemType.PAGE_BREAK)
這樣就可以得到所有區段的列表
不過要注意第一區段(第一頁)也在裡面唷!!


上一篇
[DAY 11] PageBreakItem
下一篇
[DAY 13] 把Google SpreadSheet 當作題庫資料庫
系列文
一份考卷不夠你可以出兩份!用 google apps script 出線上考題30

尚未有邦友留言

立即登入留言