前回の記事でPower Automate for desktop(PAD)のカスタム アクションを作成する方法を紹介しましたが、今回は実例としてWindowsに搭載されている「電卓」アプリを操作する簡単なカスタム アクションを作ってみました。
※ 2023年5月時点ではまだプレビュー版の情報を元にしています。今後仕様等変更される可能性がある点にはご注意ください。
カスタム アクションのコード
カスタム アクションのコードは下記の通りで、電卓アプリを起動するアクションと、指定したボタンをクリックする2つのアクションを定義しています。
電卓アプリの操作はUI Automationで行いますが、操作対象となる要素の指定にプロセスIDを使用するため、アプリの起動にはIApplicationActivationManager::ActivateApplicationメソッドを使用しています。
引数として受け取ったAutomationIdを元に要素を取得し、InvokePattern.Invokeメソッドでボタンをクリックしています。
※ カスタム アクションとしてPADに組み込む方法は前回の記事をご参照ください。
動作画面
実際にこのカスタム アクションを組み込んだフローと動作画面は下図になります。
このフローをテキストとしてコピーすると以下のようになっていました。
「IsCustomModule」がTrueになっていることが分かります。
@@IsCustomModule: 'True' @@Id: '********-****-****-****-************' LaunchCalculator.LaunchCalculator CalculatorProcessId=> CalculatorProcessId @@IsCustomModule: 'True' @@Id: '********-****-****-****-************' LaunchCalculator.InvokeButton CalculatorProcessId: CalculatorProcessId ButtonId: $'''num1Button''' @@IsCustomModule: 'True' @@Id: '********-****-****-****-************' LaunchCalculator.InvokeButton CalculatorProcessId: CalculatorProcessId ButtonId: $'''num2Button''' @@IsCustomModule: 'True' @@Id: '********-****-****-****-************' LaunchCalculator.InvokeButton CalculatorProcessId: CalculatorProcessId ButtonId: $'''num3Button''' @@IsCustomModule: 'True' @@Id: '********-****-****-****-************' LaunchCalculator.InvokeButton CalculatorProcessId: CalculatorProcessId ButtonId: $'''plusButton''' @@IsCustomModule: 'True' @@Id: '********-****-****-****-************' LaunchCalculator.InvokeButton CalculatorProcessId: CalculatorProcessId ButtonId: $'''num4Button''' @@IsCustomModule: 'True' @@Id: '********-****-****-****-************' LaunchCalculator.InvokeButton CalculatorProcessId: CalculatorProcessId ButtonId: $'''num5Button''' @@IsCustomModule: 'True' @@Id: '********-****-****-****-************' LaunchCalculator.InvokeButton CalculatorProcessId: CalculatorProcessId ButtonId: $'''num6Button''' @@IsCustomModule: 'True' @@Id: '********-****-****-****-************' LaunchCalculator.InvokeButton CalculatorProcessId: CalculatorProcessId ButtonId: $'''equalButton'''
証明書がインストールされていないデバイスでフローを実行した場合
前回の記事でも書いている通り、カスタム アクションを記述するdllファイル、およびパッケージ化したcabファイルはデジタル証明書で署名する必要があり、カスタム アクションを含むフローを実行するデバイスにも証明書をインストールする必要があります。
Ensure the .dll files describing Custom actions (preview), their dependency .dll files, and the .cab files are properly signed with a digital certificate trusted by your organization. The certificate should also be installed on the device under the trusted root certificate authority where the desktop flow with custom action dependencies is executing.
https://learn.microsoft.com/en-us/power-automate/desktop-flows/create-custom-actions より
証明書をインストールしていないデバイスでフローを実行しようとすると、下図のように「不明なアクション」となり、フローを実行することができません。
今回は電卓アプリを操作するだけの簡単なアクションでしたが、例えばAPIが無いオンプレ環境の自社システムを操作したい場合などは、上記のようにアプリを操作するためのカスタム アクションを社内展開することで、容易にPADから操作できるようになります。もちろん、PADに標準で用意されているキー操作やマウス操作、UI Automationといったアクションを駆使して操作することもできると思いますが、専用のアクションを用意しておくことで処理が簡潔になります。
カスタム アクションを作成するための知識は必要になりますが、活用するメリットもそれなりにあるでしょう。
PADのカスタム アクション、興味がある方は是非試してみてください!
この記事へのコメントはありません。