iT邦幫忙

2024 iThome 鐵人賽

DAY 24
0
Software Development

30 天打造 RPA 自動化流程:Power Automate 從入門到實戰系列 第 24

Power Automate Desktop:透過 VBA 執行 Excel 巨集

  • 分享至 

  • xImage
  •  

一、前言

在現代辦公環境中,Excel 是一款無處不在的工具,無論是數據處理、報告生成,還是進行決策支持,Excel 都在其中發揮重要作用。然而,隨著工作流程的複雜化,手動操作的效率已經不能滿足需求。這時,Power Automate Desktop (PAD) 和 VBA (Visual Basic for Applications) 就成為了幫助自動化 Excel 任務的理想解決方案。本文將介紹如何在 PAD 中呼叫 VBA,並展示如何透過這種方式高效地完成工作。

二、什麼是 VBA?什麼是巨集?

VBA (Visual Basic for Applications) 是 Microsoft Office 應用程式中的內建編程語言,特別是用來自動化 Excel、Word 等應用程式中的操作。VBA 提供了使用者撰寫腳本以自動化重複性工作的能力,可以節省時間,也能降低手動操作的錯誤率,可以把它想像成 Office 應用程式中的 RPA 機器人。

而巨集其實是透過 VBA 語法寫成的一段自動化指令。Excel 內建的錄製巨集功能,可以讓使用者記錄操作過程,並生成對應的 VBA 程式碼。這些巨集可重複使用,當你想要重複執行某些操作時,只需一鍵即可完成。因此,對於重度使用 Excel 的使用者來說,VBA 雖然是個相對較古老的語法,開發介面也比較陽春,不過仍是非常實用的。

三、為什麼要使用巨集?

此系列已藉由各種情境讓大家知道 Power Automate Desktop (PAD) 的自動化功能非常多元,可以自動化各種手動任務,並與不同的應用程式整合。然而,在某些情境下,使用巨集也許會更加適合,原因包括以下幾點:

  1. VBA 更深入整合 Excel 功能:VBA 是為 Excel 等 Office 應用程式量身訂製的,能夠直接存取 Excel 的完整功能,如自定義函數、表格操作、格式設置等。相較之下,PAD 的 Excel 操作功能則相對有限,主要著重於基本資料輸入與讀取。

  2. 效能表現:在需要進行大量數據處理或執行高頻率的操作時,VBA 可以更快速、更精準地處理,避免了透過過 PAD 諸多步驟來操作 Excel 而帶來的額外負擔。

  3. 複雜 Excel 公式與運算的靈活性:VBA 提供了靈活的編程能力,允許你根據具體需求設計複雜的邏輯和運算,這在某些需要高度自訂的 Excel 任務中尤其有用。

綜合來說,雖然 PAD 可以執行很多自動化任務,但當涉及到深入的 Excel 功能或效能要求較高的情況時,VBA 無疑是更好的選擇。

四、示範情境:使用 PAD 呼叫 VBA 來自動化 Excel 任務

以下是一個簡單的示範,展示如何在 Power Automate Desktop 中呼叫 VBA 來自動完成 Excel 中的特定操作。在此情境中,我們希望能夠自動將 Excel 中內容為「已完成」的儲存格標示為黃色背景。

步驟 1:撰寫 VBA 程式碼

首先,我們在 Excel 中撰寫一段 VBA 程式碼,用於檢查所有儲存格,並將內容為「已完成」的儲存格設置為黃色背景。以下是 VBA 程式碼範例:

Sub HighlightCompletedCells()
    Dim ws As Worksheet
    Dim cell As Range
    
    Set ws = ThisWorkbook.Sheets("Sheet1")
    
    For Each cell In ws.UsedRange
        If cell.Value = "已完成" Then
            cell.Interior.Color = vbYellow
        End If
    Next cell
End Sub

此程式碼會在工作表中搜尋所有儲存格,當發現某個儲存格的值為「已完成」時,會將該儲存格的背景設為黃色。

若還不太熟悉 VBA 的操作方式和語法,建議可以先上網查詢相關入門概念影片(可參考最下方的參考資料),接著再往下實際寫程式碼,不過也不太需要死記語法,透過自然語言請 ChatGPT 生成的內容就已經滿夠用了。

步驟 2:在 Power Automate Desktop 中呼叫 Excel 巨集

  1. 啟動 Excel:打開目標 Excel 檔案

  2. 執行 Excel 巨集:Excel 執行個體選擇前個動作所生成的變數名稱。巨集的欄位則填入該巨集的名稱,此處示範名稱為 HighlightCompletedCells

步驟 3:完成流程與執行

完成後,當你執行這個 PAD 流程時,它會自動打開 Excel,並執行 VBA 腳本,將所有符合條件的儲存格標示為黃色背景。

參考流程腳本
https://ithelp.ithome.com.tw/upload/images/20241006/20169459Ja53kzWy4V.png

參考流程運作影片

五、小結

在自動化日常 Excel 工作中,Power Automate Desktop 和 VBA 都能夠提供極大的幫助。PAD 能夠快速自動化跨應用程式的工作流程,而 VBA 則是專門為 Excel 打造的強大工具,提供了更深入的控制和靈活性。希望藉由這篇文章的示範,可以讓大家認識如何結合兩者的優勢,進一步提升工作效率。

參考資料
解決 Excel 任何疑難雜症的最終方案!快速上手 VBA 讓你變成 Excel 類大師!| Excel 教學 50

文章同步刊載於此


上一篇
Power Automate Desktop:OCR 辨識
下一篇
Power Automate Desktop:HTTP Request 與呼叫指令碼
系列文
30 天打造 RPA 自動化流程:Power Automate 從入門到實戰26
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言