# Google Apps Scripts 建立動態表單選項 用在活動報名時依據報人數,即時顯示目前報人數。如果報人數額滿就關閉表單 ```javascript= function updateform() { var ssId = '1gX_GStuZW*******' //表單回應id form = FormApp.getActiveForm() /* //查看題目項目 id 編號 var items = form.getItems() for(var i in items)( Logger.log(items[i].getTitle() + ' - ' + items[i].getId()) ) //報名梯次 - 620986534 */ var ss = SpreadsheetApp.openById(ssId) //打開試算表 var ws = ss.getSheets()[0] //取得表單回應 1 工作表 var dataRange = ws.getDataRange() //取得資料範圍 dataRange.removeDuplicates([3]) //依據姓名欄,姓名重複就移除 var ws = ss.getSheetByName('條件設定') //取得條件設定 工作表 var range = ws.getRange(2,1,2) //取得資料範圍(顯示選項) var populates = range.getValues() //取得範圍資料 var d_populate = [] // 填充資料是陣列,有可能項目內容為空值,給定一空陣列接收上一行填充資料 for(var i in populates){ if(populates[i] != ''){ //如果不是空值,就加入 d_populate[] d_populate.push(populates[i]) } } //Logger.log(d_populate) if(d_populate.length==0){ //如果陣列無資料,表示額滿 form.setAcceptingResponses(false) form.setCustomClosedFormMessage('目前報名人數已滿') }else{ var populate_question = form.getItemById('620986534') //取得填充題目 populate_question.asMultipleChoiceItem().setChoiceValues(d_populate) } /* if(d_populate.length!=0){ var populate_question = form.getItemById('620986534') //取得填充題目 populate_question.asMultipleChoiceItem().setChoiceValues(d_populate) } var range = ws.getRange(2,5,1) //取得資料範圍(E2) var formonoff = range.getValue() //取得範圍資料 //Logger.log(formonoff) if(!formonoff){ form.setAcceptingResponses(false) form.setCustomClosedFormMessage('目前報名人數已滿') } */ } } ```