マイクロソフト製無料RPA Power Automate Desktop

ロボットと握手
アプリ

皆様こんにちは。今日は今はやりのマイクロソフト製RPA Power Automate Desktopを使用してみました。

RPAとはRobotic Process Automationの略で、機械的な自動化作業を行うツールの総称のようです。簡単にいうとロボットがあなたの代わりに作業を行ってくれるというジャンルになります。

どんなものか試してみましたが、MS Power Automateに限って言えば、ビジュアルプログラミングに近い概念かなと思うところがありました。

非常に似ている。ノーコードといはいえ、ある程度プログラミングの経験がある人の方が入りやすい分野のようです。

自動化作業をパーツを組み合わせる事で行う事ができる

あらかじめ用意されたパーツをパラメータを組み合わせて自動化させるために組み合わせていく。

そんな作業を行っていきます。正直言うと場合によってはプログラミング言語の方が柔軟に記述できると思うような場面もありました。実際に画面をみていきましょう。

フローとは自動化した処理の流れのことです。フローが作成されていないのでフローを作ります

フロー名を入れて次へ進みます。

そして行いたい処理を記述していきます。

処理を記述する

Firefoxなら「Firefoxを起動する」などとします。そして処理を行うと何らかの出力などのデータが変数に格納されます。

Firefoxの場合は、ブラウザーを操作するためのインスタンスを格納した変数が作れらます。これはブラウザ操作のために必要であとから参照できます。

このように後から参照するブラウザーを指定するために使います。例えば二つブラウザーを開いた場合などにBrowser,Browser1などと、参照する(操作対象の)ブラウザーを区別する事ができます。

エラーが出る場合も

ただ私がためした所なにやらエラーがでて操作できませんでした。エラーが出た時に情報がまだすくなくデバッグが大変なのでちょっと困りものですね。

少しいじったところエラーの原因は分かりましたが、どうもソフトウェアが足りなくて動かないエラーの場合も多いようです

Chrome を制御することができませんでした (内部エラーまたは通信エラー)。

このエラーですがクロームを外から操作するためのオートメーションが、インストールされていないか、機能がオフになっているため動かないようです。初期状態ではおそらくこれはインストールされていませんので、インストールが必要です。

それからOCRでも似たような現象が起こっていました。

OCR を使ってテキストを抽出できません

テキストが画面に表示される場合(OCR)

という項目や

OCRを使ってテキストを抽出

などといった項目がありますが、まずはOCRのエンジンを初期化してオブジェクトを作る必要があります。

OCR

の中の「tesseract OCRエンジンを作成」や「MODI OCRエンジンを作成」でエンジンを作成し、インスタンスオブジェクトを%OCREngine%に追加した後。

上記の項目、「OCRを使ってテキストを抽出」などでエンジンの参照を設定します。エンジンを生成したにも拘わらず

ERROR:「OCR を使ってテキストを抽出できません」が出る場合があります。これはOCRエンジン自体がインストールされていないことによるエラーである可能性があります。不親切にもこの情報だけではエラーの原因がわからないため悩むことになります。

このように項目にあるからと言ってそのソフトや、必要なソフトウェアがそろっているとは限らないため注意が必要です。訳の分からないエラーに見舞われた場合はまず必要なソフトウェアがあるかどうかは疑った方がよいでしょう。

テキストが画面に表示される場合(OCR)の機能と代替

なお「テキストが画面に表示される場合(OCR)」は非常便利そうな機能ではありますが(機能としては画面を読み取ってその間待機するといった使い方ができます。)、ですが、OCRの精度もそれほど高くなく、確実性がないのと処理が遅いため一瞬だけ出る画面にはタイミングが合わず使えないという事があるようです。

なので画面が出るまで待機したいような場合には、画面のタイトルを使って取得する方がよい場合の方が多いでしょう。サンプルコードを記述しておきます。

これらのウェイトは画面がでるまで待機し、キーストロークを送って画面を操作したい場合などに役立ちます。「マウスとキーボード」の、「キーの送信」と相性がよいと思います。

ループ====

ウィンドウが次の条件を満たす場合(ウィンドウの取得:タイトルやクラスごと)(ウィンドウタイトル:チェックしたいタイトル)(ウィンドウが次の条件を満たすかどうかを確認する:開いていない)→Wait 1 Seconds

ウィンドウが次の条件を満たす場合(ウィンドウの取得:タイトルやクラスごと)(ウィンドウタイトル:チェックしたいタイトル)(ウィンドウが次の条件を満たすかどうかを確認する:開いている)→ループを抜ける

ループEND==

非同期処理をしたい場合はサブフロー

Power Automate Desktopで記述した処理はほとんどが同期処理(実行を終えるまでは次の処理に移らない)になります。非同期に実行したい場合はサブフローを作成すると良いようです。サブフローは上の方のサブフローより作成できます。

不満:Microsoft Power Automate Desktopはフローをコピーできない

非常に不満なところなのですが、このツールはフローをインポートエクスポートして、一度使ったフローの派生フローを作ろうとした場合に、できないようです。

他のバージョン(?)の有料版にはあるっぽい(?)ですが、作った人とアカウントを共有するかしないと作った人しか使えませんし、アカウントにクラウドでは保存されるようなのですが、困りものですね。もっと便利に使いたい人は有料のやつを買えということなのでしょうか

Power Automate Desktopまとめ

いかがでしたでしょうか。これらのツールを使えば様々な処理を自動化できるようです。

プログラミングするより簡単に画面を操作する事ができます。Windowのハンドルやタイトルを取得して画面を待機するなどといった処理はプログラミングで書くと複雑で難しいコードとなりますから、簡単にかけるこれらのツールは便利であるといえるでしょう。

ただ所々はコーディングした方が早い場合もあり、住みわけが必要ですが、VBSなどのコードやコマンドや、アプリケーション、パワーシェルスクリプト等もMS Power Automateから呼び出せるようです。ハイブリッドで行くのが一番スマートな気がします。(個人的な見解です)これらのツールを使えば様々な処理を自動化できるので使いどころを工夫すれば業務を効率化できるでしょう。

年間に何百回も同じ処理をしてめんどくさいと思っている方は使ってみる価値ありです。それでは皆様よいPCライフをお送りくださいませ。それではまたお会いしましょう。

ネットワークイメージ
アプリ
超簡単VPN tailscaleでお気軽お手軽プライベートネットワーク

皆様お久しぶりになります。今日は久しぶりのソフトウェアのご紹介になりますが、例によってまたVPNになります。tailscaleはすごく簡単なのです。 難しい設定は何もいらずすぐにつながる簡単さ。必要なのは最初のサインアップと簡単インストールとGoogleアカウントログインです。Googleアカウントが使えるのですでに持っているアカウントを使うなどもできます。 …

レビュー
ワイヤレスバックカメラY20USB使用感レビュー

Y20USBは車載用バックカメラです。USB給電を主としモバイルバッテリーなどからも給電できます。ワイヤレスで映像を見ることが出来るので離れた場所から映像を確認することができます。 電源を供給するとWi-Fiアクセスポイントとして機能してWi-Fiに接続すると192.179.8.20などのIPアドレスが割り振られます。この状態でF-CARアプリを起動すると映 …

3製品レビュー用画像
レビュー
LGB-PBSU3,hde-05, GW2.5OR-U3,SSD外付けケース比較レビュー

皆様いかがおすごしでしょうか?今日は2.5インチSATA,SSDの外付けケースのご紹介です。 ベンチマークしたテストの結果も表示しますのでご購入の際の参考にされてください。はっきりいいますとSSDの外付けケースの性能というものは確かにあり、ケースにより性能が制限されることも有りますので良いケースを選ぶとよいでしょう。 本日は4つのケースを実際に購入しレビュー …