
每次要辦活動,都要準備一大堆的報名表單,但每次都一個一個點進 Google 表單設定每一個欄位實在很花時間。
這次就想到可以用寫程式的方式,利用Google Gemini 搭配 Google Apps Script,用幾行程式碼就自動生成一份完整的 Google 表單!就來看看怎麼做吧!
第一步驟:確認需求
這次我要做的是一份 聖誕節活動報名表,需求如下:📋 基本資料欄位
- 姓名
- 電子郵件(必須是正確 Email 格式)
- 地址(前面一定要 5 碼郵遞區號)
- 手機(格式限定
0900-000-000) - 出生年月日(7 碼數字,例如
1141224) - 學歷(下拉式選單)
👉因為手機、郵遞區號、出生年月日的格式常常不一致,也希望可以一併處理。
🎅 活動場次設定
- 這次假定是要辦理聖誕節活動,場次共有 4 個,每人最多只能選 2 場
- 12/24 上午
- 12/24 下午
- 12/25 上午
- 12/25 下午
第二步驟:下prompt
以下是我向Gemini下的prompt:
- 我想要用google表單製作一個聖誕節活動報名表
- 場次為12/24 12/25上午、下午各一場,場次部份希望可以勾選(每個人最多兩場)
- 我需要姓名、出生年月日、電子郵件、地址、學歷以及手機
- 地址的格式前面要有郵遞區號五碼
- 手機格式為0900-000-000
- 出生年月日需要七碼數字 如1141224
- 學歷部分希望做成下拉式選單
- 請幫我直接寫成可以安裝到Google Apps Script的程式碼
第三步驟:長出程式碼
下完prompt後,Gemini就幫我寫了一個HTML的程式碼如下:
function createChristmasForm() {
// 建立表單標題
var form = FormApp.create('聖誕節活動報名表');
form.setDescription('歡迎報名聖誕節活動!請填寫以下資訊:');
// 1. 姓名
form.addTextItem().setTitle('姓名').setRequired(true);
// 2. 電子郵件 (含驗證)
var emailValidation = FormApp.createTextValidation()
.requireTextIsEmail()
.setHelpText('請輸入正確的電子郵件格式')
.build();
form.addTextItem().setTitle('電子郵件').setRequired(true).setValidation(emailValidation);
// 3. 地址 (5碼郵遞區號 + 地址)
var addressValidation = FormApp.createTextValidation()
.requireTextMatchesPattern('^\\d{5}.+')
.setHelpText('請先輸入5碼郵遞區號,再接著輸入地址')
.build();
form.addTextItem().setTitle('地址').setRequired(true).setValidation(addressValidation);
// 4. 手機 (格式 0900-000-000)
var phoneValidation = FormApp.createTextValidation()
.requireTextMatchesPattern('^09\\d{2}-\\d{3}-\\d{3}$')
.setHelpText('請依照格式輸入:0900-000-000')
.build();
form.addTextItem().setTitle('手機').setRequired(true).setValidation(phoneValidation);
// 5. 出生年月日 (七碼數字,如 1141224)
var birthdayValidation = FormApp.createTextValidation()
.requireTextMatchesPattern('^\\d{7}$')
.setHelpText('請輸入7碼數字格式 (如:1141224)')
.build();
form.addTextItem().setTitle('出生年月日').setRequired(true).setValidation(birthdayValidation);
// 6. 學歷 (下拉式選單)
form.addListItem()
.setTitle('學歷')
.setChoiceValues(['國小', '國中', '高中/職', '專科', '大學', '碩士', '博士'])
.setRequired(true);
// 7. 場次勾選 (最多選兩場)
var sessionValidation = FormApp.createCheckboxValidation()
.requireSelectAtMost(2)
.setHelpText('每人最多報名兩場')
.build();
form.addCheckboxItem()
.setTitle('欲參加場次 (最多選二場)')
.setChoiceValues([
'12/24 上午場',
'12/24 下午場',
'12/25 上午場',
'12/25 下午場'
])
.setRequired(true)
.setValidation(sessionValidation);
// 輸出表單連結
Logger.log('表單已成功建立!');
Logger.log('編輯連結: ' + form.getEditUrl());
Logger.log('發佈連結: ' + form.getPublishedUrl());
}
第四步驟:把程式碼裝進 Google 表單
以下是Gemini教我的步驟:
第一步:開啟 Google 表單編輯器
- 進入 Google 表單。
- 建立一份 「空白」 表單。
- 在標題列點擊右上角的 「三個點 ⋮」 圖示。
- 在選單中點選 「<> 指令碼編輯器」 (英文版為 Apps Script),按下後會打開一個新的編輯器頁面。

第二步:貼上並執行程式碼
1. 在開啟的編輯器畫面中,會看到一些預設的程式碼(例如 function myFunction() {...}),請全部刪除。

2. 將Gemini提供的完整代碼(標題為「聖誕節活動報名表」的那段)複製並貼上到編輯 器中。

3. 點擊上方的 「儲存 (磁碟圖示)」,並隨意取一個專案名稱(例如:聖誕節活動報名表)。

4. 確認上方選單選的是 createChristmasForm,然後點擊 「▶ 執行(Run)」(要先儲存才能選擇執行)。
第三步:完成安全性授權(僅需一次)
第一次執行時,Google 會要求授權,請按以下路徑操作:
- 彈出視窗後點擊 「查看權限」。
- 選擇您的 Google 帳號。
- 如果跳出「Google 尚未驗證此應用程式」,請點擊左下角的 「進階」。
- 點擊最下方的 「前往『聖誕節活動報名表』(不安全)」。
- 點擊 「允許」。
當看到以下畫面時就知道成功了!

第五步驟:正式使用!
接下來再回到雲端就可以看到新增了一個「耶誕節活動報名表」~

打開來長這樣,可以看到所有欄位都被建好了,而且都自動設定成必填:

學歷跟場次也做成下拉式選單跟複選題了。

如果輸入不符合格式的數字,會被提醒並且無法送出。

報名活動如果輸入超過兩場也會被限制。

是不是覺得一切都很神奇呢!再也不用一個一個去調Google表單了!
接下來就可以稍微做一些微調,比如一些活動說明或是顏色調整,就可以發布給報名者了。
以後作活動報名表,不用再點點點、手動調調,幾分鐘就搞定一份結構統一、超專業的報名表,以後想改或重複用也超方便,省時又省力,辦活動終於可以輕鬆許多啦~
















