最近在臉書上看到,有好友提到常用的 Google 表單外掛工具已下架了,因此無法再直接設置表單人數限制的功能。為了解決這個問題,我試著利用 AI 來寫一個自動關閉 Google 表單的程式。這段程式碼會檢查回應人數,並在回應數量達到指定人數時,自動關閉表單。以下是詳細步驟與操作說明。
步驟 1:開啟 Google Apps Script 編輯器
1.打開您需要設置人數限制的 Google 表單。
2.點擊右上方的「更多選項」(外觀為三個點)>「指令碼編輯器」以打開 Apps Script 編輯器。
步驟 2:新增程式碼
在 Apps Script 編輯器中,將預設的內容刪除,然後貼上以下程式碼:
function onOpen() {
const ui = FormApp.getUi();
ui.createMenu('自動關閉設定').addItem('設定人數上限', 'showLimitDialog')
.addToUi();
}
function showLimitDialog() {
const ui = FormApp.getUi();
const limitResponse = ui.prompt('人數限制',
'請輸入人數上限:',
ui.ButtonSet.OK_CANCEL
);
if (limitResponse.getSelectedButton() == ui.Button.OK) {const limit = parseInt(limitResponse.getResponseText().trim(), 10);
if (!isNaN(limit)) {
setLimitTrigger(limit);
ui.alert(`已設置人數上限為 ${limit},表單將在達到上限時自動關閉。`);
} else {
ui.alert('輸入無效。請輸入有效的數字。');
}
}
}
function setLimitTrigger(limit) {
const form = FormApp.getActiveForm();
// 刪除現有的觸發器,以避免重複
ScriptApp.getProjectTriggers().forEach(trigger => {if (trigger.getHandlerFunction() === 'closeFormWhenLimitReached') {
ScriptApp.deleteTrigger(trigger);
}
});
// 設置「回應提交」觸發器以立即檢查條件
ScriptApp.newTrigger('closeFormWhenLimitReached').forForm(form)
.onFormSubmit()
.create();
// 將設定存入 Script Properties
PropertiesService.getScriptProperties().setProperties({formId: form.getId(),
responseLimit: limit.toString()
});
// 立即檢查一次,確認條件是否已經達成
closeFormWhenLimitReached();
}
function closeFormWhenLimitReached() {
const formId = PropertiesService.getScriptProperties().getProperty('formId');
const responseLimit = parseInt(PropertiesService.getScriptProperties().getProperty('responseLimit'), 10);
if (!formId) {Logger.log('未找到表單 ID,無法檢查條件');
return;
}
const form = FormApp.openById(formId);
const responses = form.getResponses().length;
// 檢查回應數是否達到上限
if (responses >= responseLimit) {form.setAcceptingResponses(false);
Logger.log(`表單已達到回應上限 ${responseLimit},已自動關閉`);
} else {Logger.log(`目前回應數:${responses},尚未達到上限 ${responseLimit}`);
}
}
步驟 3:儲存與授權
1.儲存專案,可以將此專案命名為「表單自動關閉」。
2.第一次執行程式時,系統會提示您進行授權。點擊「檢查權限」,選擇您的 Google 帳戶,並點擊「允許」以授權程式執行。
步驟 4:啟用選單功能
1.在 Apps Script 編輯器中,選擇 onOpen 函數,然後點擊上方的執行按鈕。這樣會在 Google 表單的界面中新增「自動關閉設定」選單。
2.返回 Google 表單頁面並刷新頁面,即可在右上角看到「自動關閉設定」選單。
步驟 5:設定人數上限
1.點擊「自動關閉設定」選單,選擇「設定人數上限」。
2.系統將彈出一個對話框,讓您輸入人數上限。例如,您可以輸入「50」作為上限。
3.點擊「確定」,系統會提示「已設置人數上限為 50,表單將在達到上限時自動關閉」。
測試建議
若要確認程式是否正常運作,可以設置一個較小的數字作為人數上限(例如 2 或 3),並提交幾次測試回應以觀察自動關閉功能是否生效。
結語
利用 Google Apps Script 為 Google 表單設置人數限制,可以有效地管理報名人數並防止超額報名。這對於活動報名、問卷調查等情境尤其適用。透過本文的指引,您可以輕鬆實現這一功能,為您的表單提供更好的控制和管理。希望這篇教學能幫助您解決 Google 表單人數限制的需求!
沒有留言:
張貼留言