Power Automate Desktop 無償版で困ったこと

はじめに

Power Automate Desktop が Windows 10なら追加コストなしで、利用できるようになっ たことで注目を集めておりましたが、
実際に活用しようと思ったら次のような困りごとがあ りましたので、ブログの記事にて紹介したいと思います。

(1)フローの共有
(2)スケジュールをトリガーとしたフローの実行

本記事に掲載している代替手段は公式から推奨されている方法ではありません。
あくまでエンジニア 目線で無償版で出来ることを検証した内容となります。

 

フローの共有と代替手段

RPAツールで自動化のプログラムを組むとき、必ずしも自分だけのフローを作るわけではありませ ん。
依頼に応じて、代わりに作って上げることもあるでしょう。

しかしながら、Power Automate Desktop の無償版には、作成したフローを共有する手段がありませ ん

これでは、依頼者のO365アカウントをお借りして作らなければ、せっかく作成したプログラム を
初めから同じように作るしかありません。

代替手段として、プログラムのコピー&ペーストが出来るようです。

例えば以下の、現在の日付を取得してメッセージ欄として表示するだけの簡単なプログラムをコピー すると、
クリップボードには次のような文字列が保存されています。

DateTime.Local DateTimeFormat: DateTime.DateTimeFormat.DateAndTime CurrentDateTime=> CurrentDateTime
Display.ShowMessage Title: $”’今の時間を表示する”’ Message: CurrentDateTime Icon: Display.Icon.None Buttons: Display.Buttons.OK DefaultButton: Display.DefaultButton.Button1 IsTopMost: False

フローのアクションはサブフロー毎に複数選択できますので、無償版でもサブフローの数だけテキ ストに出力すれば、
プログラムを受け渡すということができますね。

ただ、規模が大きくなるとサブフ ローも増えるためこの方法での共有はミスが怖いですね。
素直にフローを共有できる有償版への移 行が賢い選択だと思います。 

ちなみに、このコピーされた文字列は、Power Automate Desktop の内部的に使われているRobin言語と呼ばれるものだそうです。
プログラミングの嗜みがあれば、Robin言語側で直接編集して処理を変更出来そうですね。

スケジュールをトリガーとしたフローの実行と代替手段 

Power Automate Desktop 無償版では、スケジュールをトリガーとしたフローの実行がサポートされません。

RPAツールの主な活用場面は、人手をなくしたいところに重きがあると思うので、正直この機 能が無いのは痛いですね。

筆者が調べた感じでは、外部ツールから実行する手段も提供されていな いようで、
Windows タスクスケジューラから定期実行のような手段も取れないようです。 

ちなみに有用版では、クラウドフローと連携してスケジュールをトリガーとした
フローが実行を許可されているので問題ありません。 

さて代替手段ですが、お勧めはしませんが、プログラムを常に実行させ指定した時間が来た時に、
目的の処理を起動するようなやり方が考えられます。 

以下のサンプルは毎日、午前8時に Subflow_1 を呼び出すようなサンプルです。

1,2にて、実行した いスケジュールを設定しています。
そして、3 の 無限ループによって、時刻を比較、実行したい時刻 になったときに、
サブフローが呼び出されます。 

サブフローが終わった後の10、11、12の処理にて、日付をインクリメントすることで
毎日同じ時間に起 動することが出来ます。

繰り返しになりますが、この方法はお勧めしません。

スケジュールのトリガーが複雑になればなるほど、無限ループ内の起動条件が複雑になる事でしょう、
本来注力したいビジネスロジック以外の所で。

おわりに 

無償版でも、色々な操作を自動化でき効果を確かめることが出来ました。

しかしながら、実際の業務 利用を考えると、無償版なだけに機能の制約として使い続けるのが苦しいという印象があります。
本記事では代替手段を提示してはおりますが、これはあくまで、一時しのぎとして参考にして頂ければと思います。

RPAの効果が十分に得られそうだと判断できたら、有償版への移行をお勧めします。