一、課程目標:先把行政經驗變成 GAS 讀得懂的資料
你會先把一件行政或課程任務整理成專案設定與任務追蹤表,因為 basic GAS 會讀取這些欄位來建立資料夾、提醒與草稿。
- 行政工作可以整理成資料欄位。
- GAS 可以讀取 Sheets 欄位。
- GAS 可以建立 Drive 專案資料夾。
- GAS 可以建立 Calendar 提醒。
- GAS 可以產生 Gmail 草稿。
- 自動化仍需要人工確認,正式通知與權限不交給程式自動決定。
多數行政工作卡住的地方,不是缺一個新工具,而是資訊散在公文、Line、Email、表單回覆、雲端硬碟、口頭交辦與個人筆記。若直接請 AI 寫程式,常會做出看似漂亮但無法落地的流程。這場課先把工作拆清楚,讓 Workspace 與 GAS 有穩定的資料來源。
或活動需求
角色與期限
專案骨架
追蹤欄位
銜接下半場進階擴充
二、本場 3 小時完成的具體產出
建立 B2:B5,讓 GAS 能讀取專案名稱、日期、承辦單位與資料夾連結。
整理任務、期限、狀態、提醒天數、風險與日曆事件 ID。
用 basic GAS 建立專案資料夾與標準子資料夾,並把連結回寫到 B5。
依任務期限與提醒天數建立個人提醒,並用事件 ID 避免重複。
只建立寄給自己的草稿,讓承辦人確認內容後再決定是否寄出。
帶回一份可回校修改的基礎版 GAS,作為後續行政工作流改造起點。
三、180 分鐘課程流程
| 時間 | 主題 | 講師操作 | 學員產出 |
|---|---|---|---|
| 0-20 分 | 行政工作流痛點與案例選擇 | 用研習、校外教學、校慶、競賽報名或課程行政案例說明資料分散問題。 | 選定一個行政或課程任務案例。 |
| 20-45 分 | 整理專案設定與任務追蹤欄位 | 帶學員把任務拆成專案名稱、日期、承辦單位、任務名稱、期限、狀態、提醒天數與事件 ID。 | 完成 B2:B5 與任務追蹤 A:I 欄位。 |
| 45-65 分 | 貼上 basic 版 GAS | 開啟 Apps Script,貼上 admin_workflow_gas_basic.gs,儲存並重新整理 Google Sheet。 | 完成程式貼上,準備看到「行政工作流」自訂選單。 |
| 65-85 分 | 初始化基礎模板 | 執行「初始化基礎模板」,確認「行政工作流」自訂選單出現,並檢查專案設定與任務追蹤欄位。 | Sheet 具備 B2:B5 與任務追蹤 A:I 的基本結構。 |
| 85-105 分 | 建立專案資料夾 | 執行「建立專案資料夾」,說明 B5 回寫如何防止重複建案。 | Drive 產生專案資料夾與子資料夾,B5 回寫專案資料夾連結。 |
| 105-125 分 | 建立日曆提醒 | 執行「建立日曆提醒」,說明期限、提醒天數與事件 ID 的關係。 | Calendar 事件產生,任務追蹤 I 欄回寫日曆事件 ID。 |
| 125-140 分 | 產生 Gmail 草稿 | 執行「產生通知草稿」,說明為什麼課堂版只建立草稿、不自動寄出。 | Gmail 草稿匣出現一封待確認草稿。 |
| 140-165 分 | 看懂 basic GS 的主要模組 | 逐段對照 onOpen、setupTemplate、createProjectWorkspace、createTaskSheet、createCalendarReminders、createNotificationDraft。 | 能說出 GAS 讀取哪些欄位、建立哪些 Workspace 物件、回寫哪些資料。 |
| 165-180 分 | 討論下半場如何升級 | 說明一般行政版使用 admin_workflow_gas_advanced.gs;一週三報後課程版使用 course_admin_workflow_gas.gs。 | 知道下半場要選 advanced 行政版或 course admin flow 課程行政版。 |
四、行政工作流模型:把「事情」改寫成資料流
每個行政專案都可以用同一個模型整理。上半場不追求一次自動化全部流程,而是先讓資料足夠乾淨,讓下半場 GAS 可以依規格建立半自動化工具。
| 工作流元件 | 要問的問題 | Workspace 承接方式 | 下半場 GAS 可自動化的項目 |
|---|---|---|---|
| 輸入資料 | 原始公文、報名表、名冊、會議紀錄、舊檔案在哪裡? | Drive 原始資料夾、Docs 摘要、Sheets 清單 | 建立資料夾、寫入索引、產生文件清單 |
| 任務分解 | 有哪些工作項目?誰負責?何時完成? | Sheets 任務追蹤表 | 建立待辦列、日曆提醒、逾期標記 |
| 文件產出 | 需要哪些通知、簽呈、名冊、成果報告? | Docs 範本、Drive 工作文件夾 | 複製模板、填入專案欄位、存回資料夾 |
| 溝通通知 | 誰要收到通知?什麼時候通知?內容是否需人工確認? | Gmail 草稿、Docs 通知草稿 | 產生草稿、提醒承辦人、寄送前人工確認 |
| 結案留存 | 活動結束後要留下什麼?誰下次會接手? | 成果資料夾、結案紀錄 Docs | 彙整連結、生成檢核表、建立結案報告草稿 |
五、上半場完成什麼,下半場再進一步做什麼
| 上半場完成 | 下半場再進一步 | 教學差異 |
|---|---|---|
| 盤點一個行政專案的對象、期限、文件、風險與確認者。 | 把專案類型做成任務範本,支援教師研習、校外教學、校慶活動、競賽報名、公文追蹤。 | 上半場重理解流程;下半場重抽象化與重複使用。 |
| 建立 B2:B5 專案設定與任務追蹤欄位。 | 新增 B6 專案類型、B7 根資料夾 ID,並依類型建立不同任務表。 | 上半場固定案例;下半場讓同一套系統適應不同行政情境。 |
| 用基礎版 GAS 建立資料夾、Calendar 提醒與 Gmail 草稿。 | 加入文件清單、Docs 草稿、逾期檢查、每日觸發器與結案資料庫。 | 上半場看到效果;下半場學會擴充成小系統。 |
| 用 AI 檢查缺漏與整理自動化規格。 | 產生可複製到 AI 的結案提示詞文件,並提醒移除個資與敏感資料。 | 上半場用 AI 補強規劃;下半場用 AI 協助組織記憶。 |
六、上半場實作任務
任務 A:建立行政專案摘要
請選擇一個實際行政案例,例如校外教學、校慶、親職講座、教師研習、競賽報名、成果展、公文追蹤或社團活動。用以下欄位整理成一頁摘要。
- 專案名稱
- 承辦單位與主要承辦人
- 服務對象或參與對象
- 開始日、截止日、活動日或提交日
- 主要輸出文件
- 哪些資訊目前不完整
- 哪些項目不能交給 AI 決定
- 哪些提醒最容易漏掉
- 哪些文件需要主管或處室確認
- 活動後要保存哪些成果
任務 B:建立 Drive 標準資料夾
這一段是讓你理解資料夾與欄位規格;實際建立動作稍後會由 basic GAS 執行。
專案資料夾命名:
YYYYMMDD_專案名稱_承辦單位
建議子資料夾:
01_原始資料
02_工作文件
03_名冊表單
04_通知公告
05_會議與協調
06_成果結案
99_封存與舊版
上半場先把資料夾命名與子資料夾規格寫清楚;基礎版 GAS 會把這些規格轉成自動建立資料夾的動作。
const folder = DriveApp.createFolder('校慶活動籌備');
folder.createFolder('01_原始資料');
folder.createFolder('02_工作文件');
folder.createFolder('03_成果結案');
任務 C:建立任務追蹤 Sheet
這一段是讓你理解資料夾與欄位規格;實際建立動作稍後會由 basic GAS 執行。
| 欄位 | 用途 | 範例 |
|---|---|---|
| 任務名稱 | 明確寫出可完成的動作。 | 彙整報名名冊、發送家長通知、確認交通車名單 |
| 負責人 | 避免只有處室名稱,盡量寫到實際確認者。 | 教學組、訓育組、護理師、總務處 |
| 期限 | 讓 Calendar 提醒與逾期判斷有依據。 | 2026/07/10 |
| 狀態 | 建議固定選項,方便篩選。 | 未開始、進行中、待確認、已完成、暫停 |
| 輸出文件 | 任務完成後應留下的文件或連結。 | 家長通知單、活動名冊、成果照片資料夾 |
| 提醒天數 | 距離期限前幾天提醒。3 = 期限前三天提醒,1 = 期限前一天提醒,0 = 期限當天提醒。 | 3 |
| 風險提醒 | 記錄個資、經費、校安、交通、安全、時間衝突。 | 需確認保險名冊與特殊疾病資料 |
上半場要求 B2:B5 與任務追蹤 A:I 欄位一致,是因為 GAS 會照固定位置讀資料。欄位名稱與格式越穩定,自動化越不容易讀錯,第 I 欄日曆事件 ID 也能避免重複建立 Calendar 事件。
const configSheet = SpreadsheetApp.getActive().getSheetByName('專案設定');
const projectName = configSheet.getRange('B2').getValue();
const projectDate = configSheet.getRange('B3').getValue();
const owner = configSheet.getRange('B4').getValue();
const taskSheet = SpreadsheetApp.getActive().getSheetByName('任務追蹤');
const tasks = taskSheet.getDataRange().getValues();
上半場不是在教完整系統,而是讓學員知道為什麼「期限」必須是日期格式、「提醒天數」必須是數字。基礎版 GAS 會用這兩個欄位算出提醒事件日期。
const taskName = '發送家長通知';
const dueDate = new Date('2026/09/15');
const reminderDays = 3;
const reminderDate = new Date(dueDate);
reminderDate.setDate(reminderDate.getDate() - reminderDays);
CalendarApp.getDefaultCalendar()
.createAllDayEvent(`[行政提醒] ${taskName}`, reminderDate);
七、AI 提示詞:用 AI 補缺漏,不用 AI 取代行政責任
提示詞 1:行政工作流盤點
請你擔任學校行政工作流顧問。
我正在整理一個行政專案,資料如下:
專案名稱:
目的:
對象:
重要日期:
目前已有文件:
預計產出文件:
可能風險:
請協助我整理成:
1. 工作階段
2. 每階段任務
3. 負責角色
4. 需要確認的資料
5. 可能漏掉的風險
6. 建議放入 Google Sheets 任務追蹤表的欄位
請注意:不要替我做正式行政決策,請把需要人工確認的項目獨立列出。
提示詞 2:任務追蹤表缺漏檢查
以下是我的行政任務追蹤表內容。
請檢查是否缺少:
- 明確期限
- 負責人或確認者
- 輸出文件
- 個資或安全風險
- 對外通知
- 主管或處室確認
- 活動後結案資料
請用表格回覆:
缺漏項目|原因|建議補上的任務|是否需要人工確認
提示詞 3:為下半場 GAS 整理自動化規格
請根據我的專案摘要與任務追蹤表,
整理一份可交給 Google Apps Script 實作的規格。
請列出:
1. 要建立的 Drive 資料夾與子資料夾
2. 要建立的 Google Docs 文件
3. 要建立或使用的 Google Sheets 工作表與欄位
4. 要建立的 Calendar 提醒規則
5. 可以先產生 Gmail 草稿但不得自動寄出的通知
6. 每一項自動化需要讀取哪些欄位
7. 哪些項目必須保留人工確認
八、上半場結束前檢查:GAS 是否讀得到資料?
上半場產出的工作流盤點表,是幫助人理解行政流程;GAS 實際讀取的是「專案設定區」與「任務追蹤表」。請避免讓學員誤以為所有盤點資料都會被 GAS 自動讀取。
今天填的欄位不是單純紀錄,而是 admin_workflow_gas_basic.gs 會讀取的資料來源。欄位位置固定,GAS 才能穩定建立資料夾、提醒與草稿。
basic GS 對應欄位
| Sheet 位置 | 欄位名稱 | GAS 用途 | 學員注意事項 |
|---|---|---|---|
| B2 | 專案名稱 | 建立資料夾名稱與通知標題。 | 請用能辨識的行政專案名稱。 |
| B3 | 專案日期 | 用於專案識別與提醒。 | 必須是 Google Sheets 可辨識的日期格式。 |
| B4 | 承辦單位 | 用於資料夾名稱與草稿內容。 | 可填處室或主要承辦人。 |
| B5 | 專案資料夾連結 | 由 GAS 回寫,用來避免重複建案。 | 若要重新測試資料夾,先清空 B5。 |
| 任務追蹤 A 欄 | 任務名稱 | 成為 Calendar 事件標題。 | 任務要寫成具體動作。 |
| 任務追蹤 C 欄 | 期限 | 用來計算提醒日期。 | 必須是日期格式。 |
| 任務追蹤 D 欄 | 狀態 | 已完成的任務不建立提醒。 | 使用固定選項,避免打錯字。 |
| 任務追蹤 F 欄 | 提醒天數 | 決定期限前幾天提醒。 | 0 代表期限當天提醒。 |
| 任務追蹤 I 欄 | 日曆事件 ID | 由 GAS 回寫,避免重複建立事件。 | 若要重新建立提醒,先清空 I 欄並刪除舊事件。 |
- 專案設定區已完成 B2:B5。
- 任務追蹤表已建立 A:I 欄,且第 I 欄保留給日曆事件 ID。
- 至少有 5 筆任務。
- 至少 3 筆任務有正確日期格式的期限。
- 狀態欄使用固定選項。
- 已用 AI 檢核是否有缺漏任務、風險或待補文件。
前往下半場欄位對照表
九、上半場操作流程
這一段讓學員照步驟操作,先感受到 GAS 可以把 Sheets、Drive、Calendar 與 Gmail 串起來。
- 建立或開啟課程 Sheet。
- 打開「擴充功能 > Apps Script」。
- 貼上 admin_workflow_gas_basic.gs。
- 儲存 Apps Script。
- 重新整理 Google Sheet。
- 執行「行政工作流 > 初始化基礎模板」。
- 修改 B2 專案名稱、B3 專案日期、B4 承辦單位。
- 執行「建立專案資料夾」。
- 執行「建立日曆提醒」。
- 執行「產生通知草稿」。
- 檢查 Drive、Calendar、Gmail 草稿是否出現對應成果。
十、上半場驗收清單
- 能清楚說明自己的行政專案要解決什麼問題。
- 已建立工作流盤點表,包含輸入、處理、輸出、確認者與下一步。
- 任務追蹤表至少有 5 筆任務,且每筆都有期限、狀態與輸出文件。
- 已貼上 admin_workflow_gas_basic.gs。
- 已看到「行政工作流」自訂選單。
- 已執行「初始化基礎模板」。
- 已執行「建立專案資料夾」。
- B5 已回寫專案資料夾連結。
- 已執行「建立日曆提醒」。
- 任務追蹤 I 欄已回寫日曆事件 ID。
- 已執行「產生通知草稿」。
- Gmail 草稿匣已出現待確認草稿。
- 已用 AI 檢查任務缺漏,並把需要人工確認的項目標示出來。
- 已整理下半場 GAS 需要的欄位、資料夾與提醒天數規則。