本記事はユーザー「藍創精英團隊」による寄稿です。転載、共有は自由です。
原文著者:藍創精英團隊
原文リンク:https://blog.csdn.net/i2blue/article/details/125037626
はじめに
RPAは以前にも紹介しましたが、ロボットによる業務自動化の概念です。
RPAをベースにした製品は多数あり、その中でもPower Automate Desktop (PAD)は比較的無料で使いやすいRPAの一つです。また、国際化も進んでおり、日本語のサポートも良好です。
国内のRPA製品である影刀も類似の製品で、PADを使いこなせれば影刀もスムーズに操作できるでしょう。
ただし、実際に使用する際にはいくつか不便な点もあります。まず、Microsoftアカウントが必要です。
また、OSの制限もあり、Windows 10以降でなければ動作しません。
そのため、Windows 7やWindows 10のHome Editionでは何かと問題が発生する可能性があります。
さらに、Windows 11には標準で搭載されており、WindowsのデフォルトRPAツールと言えます(キーワード検索してみてください)。
インストールとデプロイ
インストール用アドレスは以下の通りです。
https://go.microsoft.com/fwlink/?linkid=2102613

そのまま次へ進みます。

私は通常すべて選択しますが、インストール時にはご自身の判断で選択してください。

インストールをクリックすると、以下のオプションが表示されるので、「はい」を選択します。

その後、自動的にインストールが開始されます。

この時点でインストールは完了し、サービスを有効化できます。
アカウントにログイン

ログインに成功すると、以下のような画面が表示されます。以前に作成済みのアカウントがあるため、このようになっています。

PAD画面の簡単な説明

- 新しいワークフロータスクを作成します。以下のリストのように作成済みの場合もあります。
- 個人アカウントで新しく作成したデスクトップフロー。
- システム公式サイト付属のフロー。
- フローの開始。
- 修正・編集。
- その他の設定情報。
5の編集をクリックすると、PADのフローデザイナーが表示されます。以下をご覧ください。

左側が対応するロジック機能コンポーネント、中央がフローロジック、右側が変数関連です。
左側を拡大すると以下の通りです。

機能は豊富に揃っています。

また、その他はMicrosoftのクラウドプラットフォームのサポートが必要な機能で、アカウントやキーなどが必要です。
全体として、PADはグローバルかつWindowsデスクトップ向けですが、国内の多くの実践的なシナリオに対しては特定の汎用的なソリューションがなく、コンポーネントの拡張によって実現するしかありません。
公式サンプルの表示
公式サンプルは3つあり、それぞれExcel自動化、Web自動化、デスクトップ自動化の3つです。



主にこの3種類で、いずれも簡単です。適当に1つ選んでデモンストレーションします。各サンプルをクリックすれば基本的に理解できます。
もちろん、プログラミング経験があれば30分もあればマスターできるでしょう。

このサンプルを選びます。メモ帳を開き、そこに何か書き込み、最後にメモ帳を閉じて、書いた内容を読み取り、表示します。
このサンプルを基に、上記の業務要件に合わせて修正します。
要件は以下の通りです。
メモ帳を開き、メモ帳に何かを書き込み、最後にメモ帳を閉じ、書き込んだ内容を読み取って表示する。
この編集をクリックすると、以下のようになります。

そして、この場所が表示されます。

「了解しました」をクリックすると、このようになります。

そのまま実行すると、エラーが発生します。

UI要素のパスを現在のパスに更新する必要があります。

「ウィンドウにテキストフィールドを入力」をダブルクリックします。

- 1つ目:テキストボックスのアドレス。
- 2つ目:このテキストボックス(メモ帳)に入力する内容(日本語に変更可)。
- 3つ目:この機能ロジックを保存。
2つ目の手順では、自分でクリックすることもできます。メモ帳を開いた後にクリックしてください。

追加手順は以下の通りです。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/ja-jp/power-automate/desktop-flows/actions-reference