ここ数日、話題のPower Automate Desktop(PAD)を触っています。
多数のアクションが用意されていて、コードを書くことなく様々な処理が実行できるので非常に面白いサービスです。
ただ、何かをトリガーにしてフローを実行したいときは、現状ですとPower Automate(Desktopではない)のデスクトップフローを使用する必要があるため、手間が掛かると言いますか、個人的には、“ショートカットをダブルクリックしたらフロー実行”くらいにお手軽に実行したかったので、フロー名を指定してPADのフローを実行する簡単なスクリプトを書いてみました。
スクリプトの第一引数でフロー名を、第二引数でフロー実行後にPADを終了するかどうかを指定します。
PowerShell -NoProfile -ExecutionPolicy Unrestricted .\StartPADFlow.ps1 "テスト" $false
仕組みは単純で、Start-ProcessでPADを実行した後、UI Automationで画面操作を行っているだけです(動作イメージは下記ツイート参照)。
テスト用に、フロー名を指定してPower Automate Desktopフローを実行するスクリプトを書いてみました。
UI AutomationでPADのウィンドウを操作するシンプルな仕組みです。 #PowerAutomateDesktop #PAD #PowerShell https://t.co/3WjFoYc2EL pic.twitter.com/aJU4YPhr6V— きぬあさ (@kinuasa) June 10, 2021
下記のようなバッチファイルを用意しておけば、わざわざコマンドを叩かなくても簡単に実行できますし、タスクスケジューラで時間を指定して実行することもできるでしょう。
@echo off cd /d %~dp0 PowerShell -NoProfile -ExecutionPolicy Unrestricted .\StartPADFlow.ps1 "テスト" pause
とりあえずこれで目的が達成できたわけですが、このスクリプトを実際の運用で使用するのは、私としてはお薦めできません。
というのも、上で書いた通り本スクリプトはPADのUIに依存する仕組みとなっているため、アップデートで画面の構造が変わればすぐに使えなくなってしまいます。
実務で何かをトリガーにしてPADのフローを実行したいときは、やはりデスクトップフローを使用した方が良いだろうと思います。
本スクリプトを使用する際は、自己責任でよろしくお願いいたします。
関連記事
Outlookマクロを使って、メール受信をトリガーにしてフローを実行する仕組みも考えてみました。
この記事へのコメントはありません。