2021年3月7日日曜日

Stream Deck から Power Automate Desktop のフローを実行したい!(2)

 先日、「Stream Deck から Power Automate Desktop のフローを実行したい!」という記事を公開したんですが、その後調べていたら他の方法もできたのでメモ。

※完全互換ではないので注意!


その後、Power Automate Desktop(以下PAD)の事を調べていたら、PADのスクリプトファイルは「Robin」なるRPA言語で記述されている事を知りました。


株式会社ASAHI Accounting Robot 研究所 様のブログで詳しく解説があり、大変参考になりました。


株式会社ASAHI Accounting Robot 研究所 - Power Automate Desktop for Windows 10 のインストール方法・フローの共有方法について

株式会社ASAHI Accounting Robot 研究所 - 「SHOの、Robinをインストールしてみた」

Speaker Deck - Power Automate Desktopの内部言語Robinについて(株式会社ASAHI Accounting Robot 研究所 様のスライド)


なんでもRobinは、PADの前身である WinAutomation の開発元の Softomotive(現Microsoft)が開発し、WinAutomation で使っていたらしいです。

で、Robinはオープンソースで、実行ファイルやエディター、Spyツールも配布していると。


また、SE の雑記 様と officeの杜 様の記事も詳しく、こちらも大変参考になりました。


SE の雑記 - Power Automate Desktop のフローの保存方法だったりそれ以外だったり

officeの杜 - Microsoft Power Automate DesktopでRPAを実現してみる


まとめると、

・PADのフローは、RPA言語のRobinで書かれており、OneDrive>自分のファイル>アプリ>Power Automate Desktop For Windows に圧縮して保存されている

・フローを実行すると、One Drive からローカルのキャッシュフォルダに解凍されたファイルがキャッシュされ、PADから実行される

・キャッシュされたフォルダのscript.robinファイルは、Robinの実行環境で実行できる

・キャッシュフォルダはここ。
%USERPROFILE%\AppData\Local\Microsoft\Power Automate Desktop\Console\Workspace

との事。


ほっほー。


試しにRobinをインストールして、キャッシュフォルダ内の script.robin をコマンドラインで実行してみると...


動いた!すごい!


注意点として、PADとRobinの実行環境は完全互換ではないので、動かないものもあるらしいです。

PADの方が新しいので、新しく追加されたものは使えないだろうとの事。


Robinの実行環境のダウンロードとインストールはこちら

Robin | RPA language


Stream Deck に登録する

以下の手順で Stream Deck から実行できました。

ただし、PADではなく、Robinの実行環境で実行しているので、完全互換ではないです。


1.Robinの実行環境をインストール

2.キャッシュフォルダ(%USERPROFILE%\AppData\Local\Microsoft\Power Automate Desktop\Console\Workspace)を開いておく。(詳細表示で更新日時順にしておくとわかりやすいです)

3.PADでフローを作成して保存する。

4.フローを実行して、実行した段階でキャッシュにフォルダができるので、フォルダ名(36桁の英数字)をコピーする。

5.次の形式でユーザー名とフォルダ名を書き換えてコピーする。

◆書式

"C:\Program Files\Robin\Robin.exe" run "C:\Users\【ユーザー名】\AppData\Local\Microsoft\Power Automate Desktop\Console\Workspace\【コピーしておいたフォルダ名】\script.robin"

↓ユーザー名とフォルダ名を書き換えます

◆「開く」アクションに登録する文字列

"C:\Program Files\Robin\Robin.exe" run "C:\Users\yoshio\AppData\Local\Microsoft\Power Automate Desktop\Console\Workspace\3dc08063-5b28-4476-94a8-ad2371e71b40\script.robin"

6.Stream Deck の「開く」アクションに登録する。


やったーできた!


完全互換ではないけど、コマンドプロンプトでも実行できるので、batファイルやタスクスケジューラーからも実行できるはず。

結構使いどころがあるかもしれないですね。


詳しい記事を公開されていた

株式会社ASAHI Accounting Robot 研究所

SE の雑記

officeの杜

本当にありがとうございました!


2 件のコメント:

匿名 さんのコメント...

はじめまして。
勉強になります。
Robinの実行環境のリンんくが切れています。
公式もどうやらアクセス出来ないので、インストール出来る方法をご教示ください。

よしお さんのコメント...

コメントありがとうございます。

Robin言語は開発が終了してしばらくしてから公開が終了したようです。
ググって探してみたのですが見つかりませんでした。
なので残念ですが頑張ってインターネット上に残っているかもしれないものを探すが、持っている人に貰うしかないですね。

当時のドキュメントはインターネットアーカイブ等に残っているので興味があれば見てくださいね。

https://web.archive.org/web/20210415101411/https://www.robin-language.org/