一個輕量、彈性且注重效率的 Chrome 擴充功能(Manifest V3)。專為教師設計,能從 Google Classroom 產生的成績試算表(Google Sheet)中讀取指定作業欄位,自動智慧對齊學生姓名,並自動模擬填入 Google Classroom 的成績總表草稿中。
免複雜設定:無需註冊 Google Cloud Console,不需串接複雜的 OAuth API,只要試算表開啟檢視權限即可使用。
智慧姓名對照:
自動比對 Sheet 中的「姓氏 + 名字」或「全名」。
採用嚴格精準比對機制,避免「資訊」誤認「公用資訊學程」等同名/重名干擾。
視覺化防呆鎖定:點擊目標作業格即時鎖定欄位,介面提供「綠色鎖定指示燈」,防止填錯直行。
深層 React 事件模擬:相容 Google Classroom 動態前端機制,自動觸發輸入、失焦與鍵盤事件,安全儲存為草稿(Draft)狀態。
多分頁支援:自動識別 Google Sheet 的 gid 分頁參數,避免永遠只讀取第一頁的問題。
請確保你的本機資料夾(例如 Classroom-Sheet-Grader/)包含以下檔案:
Classroom-Sheet-Grader/
├── manifest.json # 擴充功能設定檔 (Manifest V3)
├── background.js # 後台服務腳本 (負責跨域抓取 Sheet CSV)
├── content.js # 核心前端邏輯 (DOM 解析、輸入模擬、姓名比對)
└── style.css # 浮動按鈕與對話視窗樣式表
下載或建立專案:在電腦中建立資料夾,並將 manifest.json、background.js、content.js、style.css 存入其中。
開啟 Chrome 擴充功能管理頁:
在網址列輸入 chrome://extensions/ 並按下 Enter。
啟用開發人員模式:
將右上角的**「開發人員模式 (Developer mode)」開關切換為開啟**。
載入擴充功能:
點擊左上角的**「載入未封裝項目 (Load unpacked)」**按鈕。
選擇剛剛建立的 Classroom-Sheet-Grader 資料夾。
安裝完成!此時擴充功能清單中會出現 Classroom Sheet Grader。
開啟你的成績 Google Sheet(通常是由 Classroom 匯出)。
點擊右上角**「共用」**按鈕。
將一般存取權改為**「知道連結的任何人」皆可「檢視」**。
複製該 Sheet 的瀏覽器完整網址。
進入 Google Classroom 課程的**「成績」總表頁面**(網址包含 /gb/)。
用滑鼠點擊你想要填入成績的那一直行作業中,任意一位學生的成績輸入框(讓游標在該格子中閃爍)。
點擊 Classroom 頁面右下角的藍色浮動按鈕**「匯入 Sheet 成績」**。
確認對話框中顯示 ✅ 已成功鎖定目標欄位!。
貼上在「步驟 1」複製的 Google Sheet 網址。
點擊**「讀取 Sheet 資料」**。
在出現的下拉選單中,選擇你要匯入的成績欄位(例如:E欄 (EXCEL))。
點擊**「開始填寫成績」**。
程式將逐一比對姓名並將分數自動填入各學生的輸入框中。
完成後會彈出詳細紀錄視窗,回報成功填入的筆數。
檢查畫面上的成績草稿,確認無誤後即可手動點擊 Classroom 的「發還」完成給分。
原因:打開設定視窗前,程式尚未抓取到你要輸入哪一欄。
解法:關閉設定視窗,直接在 Classroom 成績單上點擊你要填入的作業格(確保游標在裡面閃爍),再點開匯入視窗即可。
原因:Google Sheet 尚未開啟公開檢視權限,Google 拒絕讀取並回傳了登入頁。
解法:檢查 Sheet 的「共用」設定,確保是「知道連結的人皆可檢視」。
原因:該學生在 Google Classroom 上的顯示名稱與 Sheet 中的姓名落差過大(或 Sheet 內包含全班平均等統計資訊)。
說明:若是表頭資訊(如「全班平均」)被略過屬於正常現象;若是學生,請檢查 Sheet 內的「姓氏」與「名字」欄位是否與 Classroom 上的名稱一致。
解法:請前往 chrome://extensions/ 頁面,找到本擴充功能並點擊右下角的 🔄 重新整理 圖示,隨後回到 Classroom 頁面按 F5 重新整理網頁即可。