本日主題:認識可用來「執行小型應用系統發展」的工具 預計時間:1.5 小時 對應主教材:第 6.2 節
一、今日學習目標
- [ ] 認識各種小型開發/自動化工具
- [ ] 知道什麼場景用什麼工具
- [ ] 理解 VBA 基礎語法與錄巨集流程
- [ ] 認識 Power Platform 各元件的定位與適用場景
二、教材內容
2.1 為什麼這塊很重要?
職缺寫明「執行小型應用系統發展」「業務自動化」。這是 MIS 跟純維運 IT 的差異,也是你能在面試展現「附加價值」的地方。
在製造業(尤其航太 MRO),大量日常工作仍依賴 Excel 與手動流程。能用簡單工具解決重複性問題的 IT 人員,會被視為「不只是修電腦的人」。
2.2 工具地圖
| 工具 | 適合場景 | 門檻 | 產出物範例 |
|---|---|---|---|
| Python | 自動化、資料處理、串 API、小工具 | 低(推薦) | 報表彙總腳本、自動寄信程式 |
| VBA / Excel 巨集 | 部門報表、自動化試算表(製造業超常用) | 低 | 一鍵產生月報、自動填表 |
| Power Automate | 流程自動化、簽核、跨系統串接(低代碼) | 低 | 請假簽核流程、郵件提醒 |
| Power Apps | 快速做表單/小應用(低代碼) | 低 | 設備報修 App、巡檢表單 |
| Power BI | 視覺化儀表板、管理報表 | 中 | IT 資產統計儀表板 |
| 網頁系統 | HTML+CSS+JS + Flask/PHP + 資料庫 | 中 | 內部查詢系統、庫存管理 |
| SQL | 資料查詢與報表底層(上週學的) | 低~中 | 資料查詢腳本、ETL 過程 |
2.3 怎麼選工具?
- 只是整理 Excel 報表 → VBA 或 Python(pandas)。
- 要做表單/簽核流程 → Power Apps / Power Automate。
- 要給主管看的儀表板 → Power BI。
- 要做內部查詢系統(多人用) → 簡單網頁 + 資料庫。
- 要串接不同系統(例如 ERP 匯出 → 自動寄信通知) → Python + API 或 Power Automate。
- 要定時備份/搬移檔案 → Python + os/shutil 或 PowerShell + 排程。
2.4 VBA 基礎入門
什麼是 VBA?
VBA(Visual Basic for Applications)是內建在 Microsoft Office 中的程式語言。在製造業,很多部門已經用了大量 Excel,因此 VBA 是最「低摩擦」的自動化手段——不用另外裝軟體,打開 Excel 就能用。
錄巨集(最快的入門方式)
- 打開 Excel → 開發人員 索引標籤 → 錄製巨集
- 給巨集取名,例如
整理報表 - 執行你要自動化的操作(格式化、排序、篩選等)
- 按 停止錄製
- 打開 Visual Basic 編輯器(Alt+F11),你會看到剛才操作被轉成 VBA 程式碼
如果看不到「開發人員」索引標籤:檔案 → 選項 → 自訂功能區 → 勾選「開發人員」。
VBA 基本語法
Sub 整理報表()
' 宣告變數
Dim lastRow As Long
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
' 迴圈:逐列處理
Dim i As Long
For i = 2 To lastRow
' 條件判斷
If Cells(i, 3).Value > 10000 Then
Cells(i, 4).Value = "高"
Else
Cells(i, 4).Value = "一般"
End If
Next i
' 自動調整欄寬
Columns("A:D").AutoFit
MsgBox "處理完成!共 " & lastRow - 1 & " 筆資料"
End Sub
VBA 常用操作速查
| 操作 | VBA 寫法 |
|---|---|
| 讀取儲存格 | Cells(列, 欄).Value 或 Range("A1").Value |
| 寫入儲存格 | Cells(1, 1).Value = "Hello" |
| 最後一列 | Cells(Rows.Count, 1).End(xlUp).Row |
| For 迴圈 | For i = 1 To 10 ... Next i |
| If 判斷 | If 條件 Then ... Else ... End If |
| 訊息框 | MsgBox "完成" |
| 另存新檔 | ActiveWorkbook.SaveAs "路徑\檔名.xlsx" |
2.5 Power Platform 進階介紹
Power Automate 流程範例:「請假單自動簽核通知」
觸發:當有人在 SharePoint 清單新增一筆請假紀錄時
↓
動作 1:寄 Email 給直屬主管(帶請假人、日期、原因)
↓
條件:主管回覆「核准」?
├─ 是 → 更新 SharePoint 清單狀態為「已核准」→ 通知請假人
└─ 否 → 更新狀態為「駁回」→ 通知請假人附駁回原因
Power Automate 實用場景清單
| 場景 | 流程概述 |
|---|---|
| 新進人員通知 | HR 填表 → 自動通知 IT 建帳號、總務準備座位 |
| 設備報修追蹤 | 使用者填表 → IT 收到通知 → 完修後自動寄滿意度調查 |
| 每日報表寄送 | 排程 → 抓 SharePoint 檔案 → 自動寄 Email 給主管 |
| 檔案備份 | OneDrive 有新檔 → 自動複製到 SharePoint 備份資料夾 |
2.6 新人策略
不必每個都精通。先把 Python(或 VBA)+ SQL 練熟,能解決 8 成的日常自動化與報表需求;低代碼工具知道存在、能現學現用即可。
面試加分小知識:面試時提到「我用 VBA 幫社團/打工的地方自動化了報表」或「我用 Power Automate 做過簽核流程」,比只說「我會寫程式」具體得多,因為這代表你能解決真實業務問題。
2.7 常見誤解
| 誤解 | 正確觀念 |
|---|---|
| 「Python 比 VBA 好,VBA 已經過時了」 | 製造業大量使用 Excel,VBA 在現場仍然非常實用;工具沒有優劣,看場景 |
| 「低代碼工具是給不會寫程式的人用的」 | 低代碼強在快速交付與維護成本低,IT 人員用低代碼反而更有效率 |
| 「學一個工具就夠了」 | 不同場景需要不同工具,關鍵是知道何時用什麼 |
| 「自動化一定要寫程式」 | Power Automate、IFTTT 等工具不寫一行程式也能自動化 |
三、今日練習
Q1. 你要把「每天手動整理的 Excel 報表」自動化,會考慮哪些工具?
Q2. 要做一個讓各部門線上填的「設備報修表單 + 簽核」,用什麼比較快?
Q3. 對新人來說,最該先練熟哪兩樣?
Q4. 錄巨集後,要在哪裡看到產生的 VBA 程式碼?
Q5. Power Automate 的「觸發器」和「動作」分別是什麼意思?請各舉一例。
參考解答
**A1.** Python(pandas) 或 Excel VBA;若要排程可搭配 Power Automate 或 Windows 工作排程器。 - **詳細解題**:如果報表格式固定、資料來源單一,VBA 最快(不用另外裝環境)。如果需要合併多個檔案、做複雜彙總,Python + pandas 更彈性。排程方面,Windows 內建「工作排程器」可以定時執行 Python 腳本或 VBA 巨集。 **A2.** Power Apps(做表單)+ Power Automate(做簽核流程),低代碼最快。 - **詳細解題**:Power Apps 做前端表單界面,使用者可在手機/電腦填寫;Power Automate 做後端流程——收到表單後自動通知 IT、追蹤處理狀態、完成後自動寄通知。整個開發時間通常 1~2 天即可上線。 **A3.** Python(或 VBA)+ SQL。 - **詳細解題**:SQL 讓你能直接查詢資料庫拿資料;Python/VBA 讓你能加工處理。這兩者搭配,從「取得資料」到「產出報表」整條鏈都能自己搞定。 **A4.** 按 Alt+F11 打開 Visual Basic 編輯器(VBE),在左側的專案窗格展開「模組」資料夾,雙擊剛才錄製的模組即可看到程式碼。 **A5.** - **觸發器(Trigger)**:啟動流程的事件。例如:「當 SharePoint 清單新增一筆資料時」。 - **動作(Action)**:流程中執行的步驟。例如:「寄一封 Email 給指定收件人」。 - 一個流程只能有一個觸發器,但可以有多個動作。四、今日檢核
- [ ] 我認識常見的小型開發/自動化工具
- [ ] 我知道不同場景該用什麼
- [ ] 我知道新人該優先練什麼
- [ ] 我了解 VBA 錄巨集的流程與基本語法
- [ ] 我認識 Power Automate 的觸發器與動作概念
五、延伸閱讀
- Microsoft Power Automate 官方文件
- Excel VBA 入門教學 — 微軟官方
- Python 官方教學
- Real Python — pandas 入門
- Power Apps 官方學習路徑
🏠 本週總覽 | ➡️ 下一天:Day 2 — Python 基礎與 pandas