自動產生自主檢查表,並寄送通知信
本單元會帶你使用課堂提供的「自主檢查表.xlsx」作為模板,從 Google Sheet 資料表自動產生「首件 / 自主檢查記錄表」,並用測試信箱完成通知信寄送。
一、本單元你會完成什麼?
本單元結束前,你會完成一次從 Google Sheet 自動產生自主檢查表,並寄出測試通知信的完整流程。
你會確認 Google Sheet 中的「資料表」欄位完整,包含製令、品名、規格、製程、數量、產表狀態與通知信箱。
你會將課堂提供的「自主檢查表.xlsx」匯入 Google Sheet,並將「首件檢查表」作為模板使用。
你會執行 Apps Script,讓系統依據資料表每一列,自動複製模板並產生新的自主檢查表。
你會使用測試信箱寄出通知信,確認信件主旨、內容、檢查表連結與收件人是否正確。
二、認識本單元要產出的自主檢查表
本單元的目標,是讓 Apps Script 依照資料表中的每一筆製程資料,自動產生一張「首件 / 自主檢查記錄表」。
課堂提供的 自主檢查表.xlsx 會作為模板使用。Apps Script 會先複製模板,再把資料表中的製程、製造批號、產品名稱、數量等資料填入指定位置。
| 自主檢查表上的欄位 | 資料來源 | 是否由程式自動填入 | 說明 |
|---|---|---|---|
| 年月日 | 系統日期 / 產表日期 | 是 | 可由 Apps Script 自動帶入產表當天日期。 |
| 機台 | 資料表中的機台欄位 | 視情況 | 若資料表有機台欄位,可自動帶入;若沒有,可留給現場填寫。 |
| 製程 | 製程名稱 | 是 | 依照 SFT 途程單中的加工順序與製程名稱帶入。 |
| 製造批號 | 製令編號 | 是 | 用來識別這張檢查表對應哪一張製令。 |
| 產品名稱 | 品名 + 規格 | 是 | 可將品名與規格合併後帶入。 |
| 數量 | 預計產量 | 是 | 帶入本製程或本製令的數量。 |
| 尺寸 / 外觀 / 自主檢查 | 模板固定項目 | 否 | 保留在模板中,讓現場依實際檢查結果填寫。 |
| 異常狀況 / 處理結果 | 現場檢查結果 | 否 | 由現場人員檢查後填寫。 |
| 操作員 / 單位主管 / 會簽單位 | 現場簽核資料 | 視情況 | 可選擇由程式帶入負責人,也可保留人工簽核。 |
三、開始前準備清單
開始操作 Apps Script 之前,請先確認你已經準備好以下內容。
| 準備項目 | 你需要完成什麼 | 完成確認 |
|---|---|---|
| Google Sheet 檔案 | 已建立一份 Google Sheet,並延續 M3-M4 建立的資料中心。 | □ 已完成 |
| 資料表頁籤 | 已建立「資料表」頁籤,第 1 列是欄位名稱,第 2 列開始是資料。 | □ 已完成 |
| 必要欄位 | 至少包含製令編號、品名、規格、預計產量、加工順序、製程名稱、通知信箱、產表狀態、通知狀態。 | □ 已完成 |
| 自主檢查表模板 | 已將「自主檢查表.xlsx」匯入 Google Sheet,並準備作為模板使用。 | □ 已完成 |
| 測試信箱 | 通知信箱先使用自己的測試信箱,不要一開始就填正式大量收件人。 | □ 已完成 |
四、操作總流程:請照這個順序完成
| 步驟 | 你要做的事 | 使用工具 | 完成標準 |
|---|---|---|---|
| Step 1 | 確認資料表欄位與資料內容 | Google Sheet | 資料表欄位完整,狀態欄位已設定。 |
| Step 2 | 上傳自主檢查表 Excel | Google Drive | 已可用 Google 試算表開啟。 |
| Step 3 | 將「首件檢查表」複製到練習檔 | Google Sheet | 練習檔中已有模板頁籤。 |
| Step 4 | 將模板頁籤改名為「模板」 | Google Sheet | 頁籤名稱與程式設定一致。 |
| Step 5 | 確認模板要填入的位置 | Google Sheet | 製程、批號、產品、數量位置固定。 |
| Step 6 | 打開 Apps Script 並貼上產表程式 | Apps Script | 程式已儲存並可準備執行。 |
| Step 7 | 執行產表程式並授權 | Apps Script | 已產生新的自主檢查表。 |
| Step 8 | 執行通知信程式 | Apps Script / Gmail | 測試信箱收到通知信。 |
五、Apps Script 在本單元扮演什麼角色?
Apps Script 就像一位「照規則辦事的行政助理」:它不會自己設計流程,但只要資料欄位、模板位置與通知條件清楚,它就可以重複執行。
從 Google Sheet 讀取製令、品名、規格、製程、數量、信箱、狀態等欄位。
複製「模板」頁籤,填入製程、製造批號、產品名稱、數量,產生新的自主檢查表。
依照產表狀態與通知狀態,將檢查表連結寄給指定測試信箱或負責人。
六、自動產表核心流程
本課程以「SFT 途程單 → 首件 / 自主檢查記錄表」為範例。每一道加工順序,對應一張自主檢查表。
讀取資料表
取得每一列製程資料。
檢查產表狀態
避免重複產生。
複製模板
複製自主檢查表模板。
填入欄位
製程、批號、產品、數量。
更新狀態
標記為已產生,回寫連結。
寄出通知
寄信給測試信箱或負責人。
七、自動產表前,資料表必須準備哪些欄位?
自動化不是從寫程式開始,而是從欄位設計開始。以下欄位建議放在「資料表」頁籤。
| 欄位順序 | 欄位名稱 | 用途 | 注意事項 |
|---|---|---|---|
| A | 製令編號 | 帶入自主檢查表的製造批號。 | 格式要一致,避免空白或多餘符號。 |
| B | 品號 | 產品代碼,方便查詢。 | 視需求使用。 |
| C | 品名 | 帶入產品名稱。 | 若品名很長,可與規格分欄管理。 |
| D | 規格 | 與品名合併顯示。 | 避免換行與特殊符號過多。 |
| E | 預計產量 | 帶入自主檢查表的數量。 | 建議只放數字,單位另外標示。 |
| F | 加工順序 | 決定每一道製程的順序與命名。 | 例如 0010、0020,格式要固定。 |
| G | 製程名稱 | 帶入自主檢查表的製程欄位。 | 建議建立標準製程名稱。 |
| H | 機台 | 帶入自主檢查表的機台欄位。 | 若沒有資料,可留空給現場填寫。 |
| I | 操作員 | 可帶入表單底部操作員欄位,或保留人工填寫。 | 視公司流程決定。 |
| J | 負責人 | 後續追蹤與通知使用。 | 可先放部門窗口。 |
| K | 通知信箱 | MailApp 寄信用。 | 信箱錯誤會導致寄送失敗。 |
| L | 產表狀態 | 判斷是否已經產生過檢查表。 | 建議使用未產生、已產生、產生失敗。 |
| M | 檢查表連結 | 記錄產生後的新表單連結。 | 方便後續查詢與寄信。 |
| N | 通知狀態 | 判斷是否已寄出通知信。 | 建議使用未通知、已通知、通知失敗。 |
| O | 最後通知時間 | 記錄寄信時間。 | 方便追蹤。 |
| P | 錯誤訊息 | 產表或寄信失敗時記錄原因。 | 方便排除問題。 |
八、將自主檢查表 Excel 匯入 Google Sheet
課堂提供的「自主檢查表.xlsx」中包含「首件檢查表」頁籤。本單元會將這張表作為 Apps Script 複製用的模板。
操作步驟:匯入自主檢查表模板
- 打開 Google Drive。
- 上傳課堂提供的「自主檢查表.xlsx」。
- 上傳完成後,對檔案按右鍵。
- 選擇「以 Google 試算表開啟」。
- 確認工作表中有「首件檢查表」頁籤。
- 將「首件檢查表」複製到你的練習 Google Sheet 中。
- 將該頁籤重新命名為「模板」。
- 確認模板版面沒有跑掉,合併儲存格、表格線、標題與欄位仍然正常。
九、模板儲存格對應表
Apps Script 會把資料表中的欄位,填入自主檢查表模板的指定儲存格。請確認你的模板儲存格位置固定,並與下方對應表一致。
注意:下方儲存格位置為課堂練習建議位置。若你匯入 Excel 後版面位置不同,請依實際模板位置調整程式中的 getRange。
| 資料表欄位 | 要填入自主檢查表的位置 | 程式範例 | 注意事項 |
|---|---|---|---|
| 產表日期 | 日期欄位 | newSheet.getRange('N2').setValue(new Date()) |
請依實際日期欄位位置調整 N2。 |
| 機台 | 機台欄位 | newSheet.getRange('B4').setValue(machine) |
若資料表沒有機台,可留空。 |
| 製程名稱 | 製程欄位 | newSheet.getRange('D4').setValue(processName) |
請依實際模板位置調整 D4。 |
| 製令編號 | 製造批號欄位 | newSheet.getRange('F4').setValue(orderNo) |
製令編號通常是追蹤主鍵,請勿空白。 |
| 品名 + 規格 | 產品名稱欄位 | newSheet.getRange('I4').setValue(productName + ' / ' + spec) |
若產品名稱太長,可考慮縮小字體或換行。 |
| 預計產量 | 數量欄位 | newSheet.getRange('Q4').setValue(qty) |
建議數量欄位只填數字,單位另外標示。 |
| 操作員 | 操作員欄位 | newSheet.getRange('Q30').setValue(operator) |
若操作員需現場簽名,可保留空白。 |
十、哪些欄位自動填?哪些欄位保留給現場填?
- 年月日
- 機台,若資料表有資料
- 製程
- 製造批號
- 產品名稱
- 數量
- 操作員,視流程決定
- 尺寸 1 / 尺寸 2 / 尺寸 3
- 壓傷、碰傷、毛邊、變形、假焊
- 判定 Y/N
- 自 1 / 自 2 / 自 3 / 自 4
- 異常狀況
- 處理結果
- 單位主管、會簽單位簽核
十一、打開 Apps Script 並貼上自動產表程式
操作步驟:開啟 Apps Script
- 在 Google Sheet 上方選單點選「擴充功能」。
- 選擇「Apps Script」。
- 系統會開啟 Apps Script 編輯器。
- 將專案命名,例如:SFT 自主檢查表自動化。
- 刪除原本預設的
function myFunction() {}。 - 貼上本講義提供的自動產表程式。
- 按下儲存圖示,或使用 Ctrl + S 儲存。
generateInspectionSheets 這個函式名稱,並且程式已成功儲存,就可以準備第一次執行。
十二、學員實作:自動產生自主檢查表程式
以下程式碼是本單元的練習範本。你不需要背語法,也不需要從零寫程式。 請先照步驟貼上並執行,再觀察程式如何讀取 Google Sheet、複製模板、填入欄位、回寫連結與更新狀態。
function generateInspectionSheets() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const dataSheet = ss.getSheetByName('資料表');
const templateSheet = ss.getSheetByName('模板');
if (!dataSheet) {
throw new Error('找不到「資料表」頁籤,請確認頁籤名稱是否正確。');
}
if (!templateSheet) {
throw new Error('找不到「模板」頁籤,請確認自主檢查表模板是否已改名為「模板」。');
}
const data = dataSheet.getDataRange().getValues();
// 從第 2 列開始讀,因為第 1 列是欄位名稱
for (let i = 1; i < data.length; i++) {
const orderNo = data[i][0]; // A欄:製令編號
const itemNo = data[i][1]; // B欄:品號
const productName = data[i][2]; // C欄:品名
const spec = data[i][3]; // D欄:規格
const qty = data[i][4]; // E欄:預計產量
const processSeq = data[i][5]; // F欄:加工順序
const processName = data[i][6]; // G欄:製程名稱
const machine = data[i][7]; // H欄:機台
const operator = data[i][8]; // I欄:操作員
const generateStatus = data[i][11]; // L欄:產表狀態
// 如果已產生,跳過,避免重複產表
if (generateStatus === '已產生') {
continue;
}
// 若必要欄位缺漏,標記錯誤
if (!orderNo || !productName || !processName) {
dataSheet.getRange(i + 1, 12).setValue('產生失敗'); // L欄
dataSheet.getRange(i + 1, 16).setValue('製令編號、品名或製程名稱缺漏'); // P欄
continue;
}
// 複製模板
const newSheet = templateSheet.copyTo(ss);
// 建立新工作表名稱:製令_加工順序_製程
let newSheetName = orderNo + '_' + processSeq + '_' + processName;
newSheetName = newSheetName.replace(/[\\\/\?\*\[\]]/g, '_').substring(0, 90);
newSheet.setName(newSheetName);
// 將資料填入自主檢查表模板
// 注意:以下儲存格位置請依你的實際模板調整
newSheet.getRange('N2').setValue(new Date()); // 日期
newSheet.getRange('B4').setValue(machine); // 機台
newSheet.getRange('D4').setValue(processName); // 製程
newSheet.getRange('F4').setValue(orderNo); // 製造批號
newSheet.getRange('I4').setValue(productName + ' / ' + spec); // 產品名稱
newSheet.getRange('Q4').setValue(qty); // 數量
newSheet.getRange('Q30').setValue(operator); // 操作員,可依實際位置調整
// 回寫檢查表連結
const sheetUrl = ss.getUrl() + '#gid=' + newSheet.getSheetId();
dataSheet.getRange(i + 1, 12).setValue('已產生'); // L欄:產表狀態
dataSheet.getRange(i + 1, 13).setValue(sheetUrl); // M欄:檢查表連結
dataSheet.getRange(i + 1, 16).setValue(''); // P欄:清空錯誤訊息
}
}
data[i][0]、data[i][1] 等位置就需要調整。建議先使用講義提供的欄位順序練習,確認成功後再改成自己的欄位。
十三、第一次執行 Apps Script 與授權
操作步驟:執行自動產表程式
- 在 Apps Script 上方的函式下拉選單中,選擇
generateInspectionSheets。 - 按下「執行」。
- 第一次執行時,系統會要求授權。
- 點選「審查權限」。
- 選擇你的 Google 帳號。
- 如果出現「Google 尚未驗證這個應用程式」,請點選「進階」。
- 再點選「前往你的專案名稱」。
- 確認授權內容後,點選「允許」。
- 授權完成後,再次執行
generateInspectionSheets。
十四、自動產表後要檢查什麼?
| 檢查項目 | 你要確認什麼 | 如果不正確怎麼辦 |
|---|---|---|
| 是否產生新工作表 | 下方頁籤是否出現新的自主檢查表名稱。 | 檢查「模板」頁籤名稱是否正確。 |
| 工作表名稱是否正確 | 名稱是否包含製令、加工順序、製程名稱。 | 檢查製令編號、加工順序、製程名稱欄位是否有空白或特殊符號。 |
| 欄位是否填入正確位置 | 機台、製程、製造批號、產品名稱、數量是否帶入正確位置。 | 檢查程式中的 getRange() 位置。 |
| 產表狀態是否更新 | 資料表中的產表狀態是否從「未產生」改成「已產生」。 | 檢查程式更新的欄位位置是否正確。 |
| 檢查表連結是否回寫 | 資料表中的「檢查表連結」是否出現連結。 | 檢查 M 欄是否為檢查表連結欄位。 |
| 是否重複產生 | 已產生的資料再次執行時不應重複產生。 | 確認程式有檢查產表狀態是否為「已產生」。 |
十五、M6 核心流程:自動寄送通知信
當自主檢查表產生完成後,不需要再靠人手動通知。Apps Script 可以依照資料表中的信箱、產表狀態與通知狀態,自動寄出通知。
| 觸發事件 | 寄給誰 | 信件內容應包含 | 目的 |
|---|---|---|---|
| 自主檢查表產生完成 | 製造、品管、廠務窗口,測試時先寄給自己 | 製令編號、產品名稱、製程名稱、檢查表連結。 | 通知相關人員可開始使用檢查表。 |
| 資料缺漏 | 資訊組或資料提供者 | 缺少欄位、列號、需補資料內容。 | 避免錯誤資料進入後續流程。 |
| 產生失敗 | 資訊組 | 錯誤訊息、發生時間、相關製令。 | 讓資訊組可以快速排除問題。 |
十六、通知信不是越多越好:先設計寄信規則
自動寄信的目的,是減少人工追問,不是增加訊息干擾。設計前請先回答以下問題。
產生完成、資料缺漏、產生失敗、即將延誤、需要主管介入。
負責人、部門窗口、主管、資訊組。測試階段請先寄給自己。
讓收件人知道發生什麼、要看哪裡、下一步要做什麼。
資料表需有「通知狀態」與「最後通知時間」欄位。
十七、用測試信箱寄出第一封通知信
操作步驟:測試寄信程式
- 確認資料表中的「通知信箱」已填入你的測試信箱。
- 確認「產表狀態」至少有一筆資料是「已產生」。
- 確認「檢查表連結」欄位已有連結。
- 確認「通知狀態」是「未通知」或空白。
- 回到 Apps Script 編輯器。
- 貼上本講義提供的寄信程式
sendInspectionNotice。 - 按下儲存。
- 在函式下拉選單選擇
sendInspectionNotice。 - 按下「執行」。
- 回到 Gmail,確認是否收到測試通知信。
- 回到 Google Sheet,確認通知狀態是否更新為「已通知」。
十八、學員實作:自動寄送通知信程式
這段程式會讀取「資料表」中的通知信箱、產表狀態、通知狀態與檢查表連結。當檢查表已產生且尚未通知時,系統會寄出 Email,並回寫通知狀態與最後通知時間。
function sendInspectionNotice() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const dataSheet = ss.getSheetByName('資料表');
if (!dataSheet) {
throw new Error('找不到「資料表」頁籤,請確認頁籤名稱是否正確。');
}
const data = dataSheet.getDataRange().getValues();
for (let i = 1; i < data.length; i++) {
const orderNo = data[i][0]; // A欄:製令編號
const productName = data[i][2]; // C欄:品名
const spec = data[i][3]; // D欄:規格
const qty = data[i][4]; // E欄:預計產量
const processName = data[i][6]; // G欄:製程名稱
const recipient = data[i][10]; // K欄:通知信箱
const generateStatus = data[i][11]; // L欄:產表狀態
const sheetUrl = data[i][12]; // M欄:檢查表連結
const noticeStatus = data[i][13]; // N欄:通知狀態
if (generateStatus === '已產生' && noticeStatus !== '已通知') {
if (!recipient) {
dataSheet.getRange(i + 1, 14).setValue('通知失敗'); // N欄
dataSheet.getRange(i + 1, 16).setValue('通知信箱空白'); // P欄
continue;
}
const subject = '【自主檢查表產生完成】製令 ' + orderNo + ' / ' + processName;
const body =
'您好:\n\n' +
'以下自主檢查表已產生完成,請確認。\n\n' +
'製令編號:' + orderNo + '\n' +
'產品名稱:' + productName + ' / ' + spec + '\n' +
'製程名稱:' + processName + '\n' +
'數量:' + qty + '\n\n' +
'檢查表連結:\n' +
sheetUrl + '\n\n' +
'請依現場實際檢查結果填寫尺寸、外觀、自主檢查、異常狀況與處理結果。\n\n' +
'若資料有誤,請回覆資訊組或資料維護窗口確認。\n';
MailApp.sendEmail(recipient, subject, body);
dataSheet.getRange(i + 1, 14).setValue('已通知'); // N欄:通知狀態
dataSheet.getRange(i + 1, 15).setValue(new Date()); // O欄:最後通知時間
dataSheet.getRange(i + 1, 16).setValue(''); // P欄:清空錯誤訊息
}
}
}
十九、程式碼閱讀指南:你只需要先看懂這幾個地方
| 程式片段 | 白話意思 | 你可能需要改哪裡 |
|---|---|---|
getSheetByName('資料表') |
告訴程式要讀取哪一個工作表。 | 如果你的頁籤不叫資料表,這裡要改成你的頁籤名稱。 |
getSheetByName('模板') |
告訴程式要複製哪一張模板。 | 如果你的模板頁籤名稱不同,這裡要調整。 |
data[i][0] |
讀取某一列的第 1 個欄位,也就是 A 欄。 | 如果欄位順序不同,這裡要調整數字。 |
getRange('B4') |
把資料寫入模板的 B4 儲存格。 | 如果模板填寫位置不同,這裡要改成新的儲存格位置。 |
copyTo(ss) |
複製模板工作表。 | 通常不需要改。 |
MailApp.sendEmail |
寄出 Email。 | 需要確認收件人、主旨與信件內容是否正確。 |
二十、學員練習 1:設計你的自動產表欄位
請選擇自己部門的一個高耗時任務,思考如果要讓 Apps Script 自動處理,資料表至少需要哪些欄位。
練習任務 1:完成自動產表準備
- 確認你的資料表欄位是否完整。
- 建立一張「模板」工作表。
- 確認模板要填入的格子位置。
- 設計產表後要更新的欄位,例如產表狀態、檢查表連結。
- 完成下方表格。
| 我的任務 | 資料來源 | 需要產出的表單 / 文件 | 必要欄位 | 產出後狀態欄位 |
|---|---|---|---|---|
| 例:SFT 轉自主檢查表 | SFT 途程單 | 首件 / 自主檢查記錄表 | 製令、品名、規格、製程、數量 | 產表狀態、檢查表連結 |
二十一、學員練習 2:設計你的通知信規則
請不要先寫程式,先把通知規則設計清楚。
練習任務 2:完成通知規則設計
- 選擇一個需要通知的事件。
- 定義觸發條件,例如產表狀態 = 已產生。
- 確認通知對象,先以測試信箱為主。
- 設計信件主旨。
- 列出信件內容一定要包含的欄位。
- 設計避免重複通知的方法。
- 完成下方表格。
| 事件 | 觸發條件 | 通知對象 | 信件主旨 | 信件需包含資訊 | 如何避免重複通知 |
|---|---|---|---|---|---|
| 例:檢查表完成 | 產表狀態 = 已產生 | 製造 / 品管 | 自主檢查表產生完成 | 製令、產品、製程、連結 | 通知狀態 = 已通知 |
二十二、常見錯誤與排除方式
| 錯誤狀況 | 可能原因 | 排除方式 |
|---|---|---|
| 執行後沒有產生新工作表 | 模板頁籤名稱不一致,或產表狀態已經是已產生。 | 確認頁籤名稱是否為「模板」,並檢查產表狀態。 |
| 找不到「模板」頁籤 | 從 Excel 匯入後仍叫「首件檢查表」。 | 請將該頁籤重新命名為「模板」。 |
| 資料填到錯誤欄位 | 模板儲存格位置與程式中的 getRange 不一致。 | 確認 B4、D4、F4、I4、Q4 等對應是否正確。 |
| 合併儲存格填不進去 | 程式沒有寫入合併儲存格的左上角。 | 確認合併區域的左上角儲存格位置。 |
| 產表狀態沒有更新 | 程式回寫欄位位置不正確。 | 確認 dataSheet.getRange(i + 1, 12) 是否對應到 L 欄。 |
| 檢查表連結沒有回寫 | 檢查表連結欄位位置不同。 | 確認 M 欄是否為「檢查表連結」。 |
| 寄信失敗 | 信箱空白、格式錯誤,或尚未授權 MailApp。 | 檢查通知信箱格式,並重新執行授權流程。 |
| 重複寄信 | 通知狀態沒有成功回寫為已通知。 | 確認通知狀態欄位位置,並檢查程式回寫欄位。 |
| 工作表名稱錯誤或無法建立 | 工作表名稱包含不允許的特殊符號,或名稱太長。 | 簡化製令、製程名稱,避免使用特殊符號。 |
| 出現權限警告 | 第一次執行 Apps Script,需要 Google 授權。 | 確認程式來源可信後,依照授權步驟完成允許。 |
二十三、導入前檢查清單
在正式讓 Apps Script 自動產表或寄信前,請先檢查以下項目。
| 檢查項目 | 確認內容 | 是否完成 |
|---|---|---|
| 資料欄位固定 | 欄位名稱、欄位順序、日期格式、狀態選項是否穩定。 | □ 是 □ 否 |
| 模板格式固定 | 機台、製程、批號、產品名稱、數量要填入的格子是否固定。 | □ 是 □ 否 |
| 模板名稱固定 | 要被複製的頁籤是否已命名為「模板」。 | □ 是 □ 否 |
| 測試資料準備 | 是否先使用去識別化或測試製令進行測試。 | □ 是 □ 否 |
| 通知對象確認 | 收件人信箱是否正確,是否先用測試信箱驗證。 | □ 是 □ 否 |
| 避免重複執行 | 是否設計產表狀態、通知狀態、最後通知時間。 | □ 是 □ 否 |
| 權限設定 | Google Sheet、產生的表單、信件收件人是否符合資料權限。 | □ 是 □ 否 |
二十四、學員完成檢核表
完成 M5-M6 後,請確認你已經做到以下事項。
| 檢核項目 | 完成標準 | 是否完成 |
|---|---|---|
| 資料表完成 | 資料表有必要欄位,且第 1 列為欄位名稱。 | □ 是 □ 否 |
| 模板完成 | 已匯入自主檢查表,並將模板頁籤命名為「模板」。 | □ 是 □ 否 |
| 模板位置確認 | 已確認機台、製程、製造批號、產品名稱、數量的填寫位置。 | □ 是 □ 否 |
| 產表測試完成 | 執行後已產生至少一張新的自主檢查表。 | □ 是 □ 否 |
| 狀態更新完成 | 產表狀態已由「未產生」改為「已產生」。 | □ 是 □ 否 |
| 連結回寫完成 | 資料表中的檢查表連結欄位已有連結。 | □ 是 □ 否 |
| 寄信測試完成 | 測試信箱已收到通知信。 | □ 是 □ 否 |
| 通知狀態更新完成 | 通知狀態已由「未通知」改為「已通知」。 | □ 是 □ 否 |
| 錯誤排除能力 | 知道產表失敗或寄信失敗時要先檢查哪幾個地方。 | □ 是 □ 否 |
二十五、本單元重點整理
它可以連接 Google Sheet、模板工作表與 Gmail,將重複工作自動化。
自主檢查表可以美觀,但要由程式填入的位置必須固定。
欄位名稱、欄位順序與狀態選項穩定,程式才會穩定。
自動產表與寄信都應先用測試資料與測試信箱確認,避免誤寄或重複產生。