本文由網友
藍創精英團隊投稿,歡迎轉載、分享原文作者:藍創精英團隊
原文連結:https://blog.csdn.net/i2blue/article/details/125037626
簡介
RPA 之前我已經介紹了,它就是一個機器人流程自動化的概念。
基於 RPA,有很多的產品,其中 Power Automate Desktop (PAD) 就是一個相對來講,免費的、容易使用的一個 RPA,另外它的國際化做得也很不錯,中文效果也是很棒。
其中,國內的 RPA 產品影刀也是類似的產品,會了它,用影刀也很順手的說。
當然,實際用的時候,也有一些不方便的地方,必須,你得先有一個微軟的帳號。
另外,對作業系統的限制也有,限制要在 WIN10++ 才可以。
所以,win7、win10 的家庭版,估計都會遇到一些問題。
另外 win11 是自帶的就有,算是預設 windows 的一個 RPA 工具了(可以搜尋一下關鍵字)
安裝部署
它的安裝位址如下
https://go.microsoft.com/fwlink/?linkid=2102613

直接下一步

我個人一般都是全選,你需要安裝的時候,可以按照自己的想法來。

點擊安裝後,出現下邊的選項,直接選是

然後,它自己就開始安裝了

到這個時候,已經安裝完畢了,可以啟用服務了
登入帳號

登入成功後,就看到了當前這個介面,我是因為以前就創建的有,所以是這個樣子的。

PAD 介面簡單介紹

- 新建工作流程任務,就像下面的列表一樣,如果創建好
- 個人帳號下,新建的桌面流程
- 系統官網自帶的流程
- 啟動流程
- 修改編輯
- 其他設定資訊
其中 5 編輯後,就會出現 PAD 的流程設計器。如下所示

左側為相應的邏輯功能元件,中間為流程邏輯,右邊為變數相關。
左邊清晰點就是

功能應有盡有,基本上,

另外一些,都是需要微軟線上雲端平台的支持,才能實現的。需要帳號、金鑰啥的。
總的來說,它是面向全球、面向 Windows 桌面端,但是,對國內很多實際場景還是沒有特定的通用化方案,只能透過元件的擴展方式實現了。
官網範例展示
官方範例一共有三個範例,分別是 Excel 自動化、Web 自動化、桌面自動化三部分。



主要是這三種,都挺簡單的,我這邊隨便挑選一個演示下,想學的,每個都點一下,基本就會了。
當然,如果會寫程式的,基本半小時,就精通了。

我選擇這個,開啟記事本,並向記事本裡寫東西。最後,關閉記事本,然後,讀出來裡面寫了什麼,並提示出來。
我直接根據這個範例修改為上邊的業務需求。
需求如下:
開啟記事本,並向記事本裡寫東西,最後關閉記事本,然後,讀出來裡面寫了什麼,並提示出來。
點擊這個編輯,就會如下所示

然後,出現這個地方

點擊明白了,就是這樣子的

直接執行,其實是會報錯的。

我們這裡要更新一下它的 UI 介面路徑為當下的路徑就可以了

雙擊這個填滿視窗中的文字欄位

- 第一,就是文字框的位址
- 第二,就是輸入到這個文字框,記事本裡的內容(可以改成中文)
- 第三,就是儲存此功能邏輯
第二步,自己也可以點點,記得開啟記事本之後點擊。

添加過程就如下,想添加哪個 UI 元素,直接 Ctrl+滑鼠左鍵就可以了

修改完之後,直接執行,效果,確實如我們所想的一樣。

我們還根據上邊的需求,增加相應的程式碼邏輯。
結果如下,效果還是很喜人的。

這個的程式碼範例如下:
IF (File.IfFile.Exists File: $'''C:\\Users\\kess\\Desktop\\測試.txt''') THEN
File.Delete Files: $'''C:\\Users\\kess\\Desktop\\測試.txt'''
END
System.RunApplication.RunApplicationAndWaitToLoad ApplicationPath: $'''notepad.exe''' WindowStyle: System.ProcessWindowStyle.Maximized Timeout: 0 ProcessId=> AppProcessId WindowHandle=> WindowHandle
DateTime.GetCurrentDateTime.Local DateTimeFormat: DateTime.DateTimeFormat.DateAndTime CurrentDateTime=> CurrentDateTime
UIAutomation.PopulateTextField TextField: appmask['Window \'無標題 - 記事本\'']['Document \'文字編輯器\''] Text: $'''你好,
藍創精英團隊。
%CurrentDateTime%''' Mode: UIAutomation.PopulateTextMode.Replace ClickType: UIAutomation.PopulateMouseClickType.SingleClick
MouseAndKeyboard.SendKeys.FocusAndSendKeys TextToSend: $'''{Control}{Shift}({S})''' DelayBetweenKeystrokes: 10 SendTextAsHardwareKeys: False
UIAutomation.Click Element: appmask['Window \'*無標題 - 記事本\'']['Tree Item \'桌面\''] ClickType: UIAutomation.ClickType.LeftClick MousePositionRelativeToElement: UIAutomation.RectangleEdgePoint.MiddleCenter OffsetX: 0 OffsetY: 0
UIAutomation.PopulateTextField TextField: appmask['Window \'*無標題 - 記事本\'']['Edit \'檔名:\''] Text: $'''測試.txt''' Mode: UIAutomation.PopulateTextMode.Replace ClickType: UIAutomation.PopulateMouseClickType.SingleClick
UIAutomation.Click Element: appmask['Window \'*無標題 - 記事本\'']['Button \'儲存(S)\''] ClickType: UIAutomation.ClickType.LeftClick MousePositionRelativeToElement: UIAutomation.RectangleEdgePoint.MiddleCenter OffsetX: 0 OffsetY: 0
WAIT (UIAutomation.WaitForWindow.ToClose Window: appmask['Window \'測試.txt - 記事本\'']['Window \'另存新檔\'']) FOR 3
ON ERROR
END
System.TerminateProcess.TerminateProcessById ProcessId: AppProcessId
File.ReadTextFromFile.ReadText File: $'''C:\\Users\\kess\\Desktop\\測試.txt''' Encoding: File.TextFileEncoding.UTF8 Content=> FileContents
Display.ShowMessageDialog.ShowMessage Title: $'''從文字中取得的內容''' Message: FileContents Icon: Display.Icon.None Buttons: Display.Buttons.OK DefaultButton: Display.DefaultButton.Button1 IsTopMost: False ButtonPressed=> ButtonPressed
這個程式碼功能如何用呢,只要在 流程邏輯裡面 Ctrl+Alt+A 全選,然後,複製,貼上,就是這一串程式碼了。
同樣,新建一個工作流程,也可以直接在流程邏輯裡面,點擊一下,然後,貼上。就出現了。

目前,還沒有一個好的分享方案。
這種還是性價比,比較高的一種方式了。
個人使用後總結
我個人使用了之後,發現,它沒有廣告啥的,算是系統自帶軟體,所以,我對它還是很看好的,但是,它自己的很多功能不是很到位,很多稍微複雜的場景,還是需要客製化的元件的,那麼,它是否支援元件呢,好消息是,它是支援的,但是,官方沒有明確對外說是支援的。
但是,實際上是支援的,所以,你懂的。
結束
至此,我們也透過介紹、安裝、簡介,以及一個官方的範例修改,以及,自訂的功能的實現,我相信,你對 RPA 技術,以及 PAD 這樣的產品已經有了一個直觀的概念了。
提升生產力,從現在做起,加油!
你的支持、關注,都是我前進的動力!有你的支持,藍創精英團隊會做得更好。
下一章,準備寫一下 PAD 的擴展元件方式,讓它的功能更強大。
引用
可以透過官網來學習大部分的功能。
https://docs.microsoft.com/zh-tw/power-automate/desktop-flows/actions-reference