使用 Power Automate Desktop (RPA) 的目的就是將我們重複處理的事情自動化以減少重複執行時發生錯誤的機會與減少人工執行的時間。
在之前的教程 [教程目錄] 裏, 我們基本都認識了一些加強設計的方法, 而後續將開始說明如何設計自動化。
本文將說明如何開會設計一個簡單的自動化情境。
概述
工作中我們經常聽到技術能將某些作業進行自動化處理, 但我們一般想到的方式可能是將資料處理後自動輸入系統等。
可在 Power Automate Desktop 的自動化卻不盡然, Power Automate Desktop 自動化是將我們執行流程上的動作進行自動化操作。
舉例來說工作中我們的標準執行作業可能執行順序如下:
- 啟動應用程式
- 切換介面
- 輸入指定資料
- 點擊處理
- 等待輸出結果
- 擷取結果至其他位置
而 Power Automate Desktop 既是將以上的過程一步一步地實現化並協助我們在啟動後自動執行。
除此之外, Power Automate Desktop 能執行的動作還無論是啟動應用程式,點擊畫面, 選擇項目, 輸入資料或擷取結果等都能辦到, 設計起來十分貼近人們最直接的執行想法。
以下將簡單說明我們如何使用 Power Automate Desktop 來自動化執行動作。
舉例
我們簡單設計一個情境: 啟動 CMD, 自動輸入 ipconfig, 然後取出結果並自動關閉。
因 Power Automate Desktop 操作時需判斷鼠標座標, 因此執行 Power Automate Desktop 自動化過程中請勿操作電腦。
執行應用程式
首先一般應用程式可能不會已經執行好, 因此我們需先啟動應用程式。
執行應用程式的動作在系統動作分類內可以找到。
新增動作後, 我們需設定 CMD 應用程式的路徑, CMD 的路徑一般為 「C:\Windows\System32\cmd.exe」。
完成路徑設定後, 需視窗大小為最大化。
一般有視窗選項建議都以最大化為主。
原因是當我們具有多個相同視窗時, 視窗與視窗之間可能互相疊加並且有微小的位置差異。
因此在介面擷取判斷上將會因視窗位置異動而造成位置無法判斷。
以下是設定的結果:
完成設定後可執行確認是否有正常啟動 CMD 應用程式。
錄製動作
啟動應用程式後, 我們需點擊上方的錄製圖示準備開始我們執行的錄製動作。
如下位置:
點擊錄製後將會自動關閉 Power Automate Desktop 的設計介面, 並出現一個錄製動作的視窗。
視窗如下:
點擊錄製後我們可以移動鼠標至 CMD 應用程式視窗時將會出現紅色擷取視窗, 這時既確認我們可以開始錄製。
開始錄製時, 我們執行的每個動作將會被記錄在錄製視窗內, 如下畫面我們點擊 CMD 視窗, 然後輸入 「ipconfig 」後, 按下 Enter 都將被記錄至錄製視窗內。
完成錄製後點擊完成(Done), 而點擊完成後畫面將會切換回 Power Automate Desktop 設計介面。
留意設計
擷取動作的結果有時不小心會發生位置不對的情況, 如若發現以下狀況我們只要滑鼠左鍵點擊著需修改的動作至正確的位置即可。
如下執行應用程式的動作拖拉至最上方即可。
除此之外, 我執行設計過程中有時會發生錄製動作輸入到內容不正確的情況。如下:
因此我們可點開相關動作並修改內容至 「ipconfig」 即可。
完成調整後進行測試執行是否有正常執行。
取得資料
在確認能自動執行後, 為了能豐富我們的流程, 接下來我們可以嘗試取得介面上的資料。
我們在 UI 自動化的資料擷取內找到在視窗根據 UI 元件取得資料的動作並新增至錄製完成動作的下方。 新增後如下畫面:
在這裡我們需新增擷取 CMD 視窗 UI 元素並設定取得 CMD 視窗。
以上將會取得 CMD 視窗內的所有內容。
關閉視窗
我們為了避免重複開啟多個視窗, 在最後我們可以嘗試設計關閉視窗。
若應用程式會重複使用時, 建議可在啟動並完成多次處理後再關閉視窗即可, 無須重複啟動和關閉視窗。
關閉視窗動作在系統內的關閉視窗(Terminate Process)。
比較特別的是預設是用程序名稱, 因啟動應用程式時是提供程序 ID, 因此我們可以修改為使用程序 ID, 然後引用我們啟動應用程式所預設提供的變數 – AppProcessID。
畫面如下:
完成以上設計後, 既完成我們的範例流程並可開始執行我們的設計取得結果。
執行結果
過程中我們可以看到電腦自動啟動 CMD 應用程式, 輸入與執行, 並最後再擷取與關閉應用程式。
除此之外, 在 Power Automate Desktop 執行後 AttributeValue 變數也擷取到我們在 CMD 內顯示的全部內容。 如下:
若有需要時, 可以嘗試將在錄製輸入文字的 「ipconfig」修改為 「ipconfig /all」試試。 我們也將自動取出 ipconfig 所有更多的資訊。
範例流程
本次因原始碼過於長, 因此不提供原始碼, 但提供流程完整畫面供做參考。
結語
以上只是簡單的自動化操作流程, 而當然工作中不是那麼簡單。 因此我們可以從簡單的流程開始進行設計, 然後慢慢地進行豐富以達到實際工作中所需。 除此之外, 我後續也將陸陸續續補上一些簡單的情境供作分享。