本文由网友
蓝创精英团队投稿,欢迎转载、分享原文作者:藍創精英團隊
原文連結: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 的流程設計器。如下所示

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

功能應用盡有,基本上,

另外一些,都是需要微軟線上雲平台的支持,才能實現的。需要帳號,秘鑰啥的。
總的來說,它是面向全球,面向 windwos 桌面端,但是,對國內很多實際場景還是沒有特定的通用化方案,只能通過組件的擴展方式實現了。
官網示例展示
官方示例一共有三個示例,分別是 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-cn/power-automate/desktop-flows/actions-reference