先日開催されたPower Automate for desktop(PAD)の勉強会「Power Automate Talk #20 PAD最新情報と実演「ロボ研が本気出す!」」で、参加者の方から“PADのアクション内でフロー名を取得する方法はありますか?”、といった質問がありました。
実行中のフローの名前を取得するアクションは用意されていないので、私も下記のようにツイートしたのですが、改めて考えたところ何とか取得する方法を見つけたのでご紹介いたします。
これは画面から取るなり何なり、無理やりな処理しか思いつかないですねー。
どうするのが簡単なのかな?🤔 #RPALT pic.twitter.com/it25W9Vav6— きぬあさ (@kinuasa) March 11, 2022
実行中のPADフローの名前を取得するPowerShellスクリプト
フロー実行中のプロセスを調べたところ、デザイナーからフローを実行している場合は「PAD.Designer.exe」のコマンドライン文字列「processname」の値がURLエンコードされたフロー名であることが分かりました。
コンソールから実行している場合は、デザイナーが起動していないので同じ方法で取得することはできないのですが、キャッシュされたフローのファイル「pData」(Base64エンコードされたJSONデータ)からフロー名を取得できることが分かりました。
ここまで分かれば後は処理に落とし込めば良いだけなので、実行中のPADフローの名前を取得するPowerShellスクリプトをさっそく書いてみました。
実用的かどうかはさておき、一応目的を達成することができたのでスッキリしました!✨
この記事へのコメントはありません。