どうも、黒井(@Kuroi_engineer)です。
2/20、Power Automate for desktop(以下PA4d)にアップデートがきましたね!
最新バージョンは 2.17.00232.22042 となりました。
今回も色々便利な機能が更新されているようなので、自学も兼ねてまとめてみたいと思います。
また、更新情報はMicrosoftのPower Automate公式blogでも公開されているので、気になる方は定期的にチェックしてみて下さい。
https://powerautomate.microsoft.com/en-us/blog/
デスクトップフロー実行状況の表示
フローを実行した際に、フローの状況がポップアップで表示されるようになりました。
表示される情報は、
- フロー名
- 実行状況
- 実行中のアクション
- 実行中のサブフロー
- 経過時間
の5項目であり、現在は手動で実行したときのみ表示されます。
表示を「フロー監視ウィンドウ」と設定すると、画面右下に以下のようなポップアップが表示されるようになり、
「Windows の通知」と設定すると以下のように実行時やエラー時にWindows から通知が来るようになります。
実行状況の表示設定は PA4d のコンソール画面から、
設定 > 監視/通知 の項目にて可能です。
フローデザイナーのパフォーマンス向上
個人的な感想としてはそこまで変わった感覚がないですが、フローデザイナー上で操作性、速度が向上したとのこと。向上した項目は以下。
- メイン、サブフロー内のアクションの追加/削除/編集/移動
- サブフロー間のアクションの移動
- フローの保存
- アクションの有効化 / 無効化
「カスタムフォームの表示」アクションの追加
新しいアクションとして、「カスタムフォームの表示」アクションが追加されました。
今まではテキストや日付、ファイルの選択などを個別のダイアログアクションで設定していましたが、このアクションがあれば自分好みのダイアログを自由に作成可能となり、上記の入力をまとめておこなうダイアログなんかも作ることができます。
ただし、プレビュー版ということもあり、非常に動作が不安定で、エラーも頻発します。
特にテキストブロックなどを追加した際は確実にエラーが発生します。
検証した限り、テキストブロックのIDが規定値でカナ入力されていますが、現状英字しか使えないことによることが原因のよう。
そのため、英字で入力しなおせばエラーが解消されます。
この辺りはしっかり直してほしい。
自由にダイアログを作成できる点で、非常に便利なアクションではあるのですが、プレビュー版では不具合が発生する可能性が高いため、本運用で使用するのは本実装されてからの方が良さそうです。
「base64変換」アクションの追加
- ファイルを Base64 に変換する
- Base64 をファイルに変換する
の2アクションが新たに追加されました。
base64とは、Wikipediaには
Base64は、データを64種類の印字可能な英数字のみを用いて、それ以外の文字を扱うことの出来ない通信環境にてマルチバイト文字やバイナリデータを扱うためのエンコード方式である。
https://ja.wikipedia.org/wiki/Base64
とありますが、これだけ見てもよくわからないと思いますので、何に使えるかを紹介します。
例えば、LINEやSlack、ChatworkなどのチャットツールのAPIを使用することで、
PA4dのフロー内でメッセージの送信やタスクの設定を行うことができますが、
ファイルを添付して送信する、もしくは受信する場合はそのまま送受信できないため、base64の方式でファイルを文字列にエンコードする必要があります。
以前はPowerShellなどのスクリプトを使用するアクションにて、エンコードする処理をプログラミングする必要がありましたが、今回のアクションが追加されたことでわざわざスクリプトを作成する必要がなくなりました!
APIでファイルを送る処理もかなり敷居が下がり、使いやすくなりますね!
「PDFからテーブルを抽出する」アクションの追加
今回は新アクションの追加が多く、PDFにも新しく「PDFからテーブルを抽出する」アクションが追加されました。
このアクションを使用することで、以下のように表形式のデータをテーブル型として変数に取得することが可能となりました!
今まではテキスト形式でしか取得できなかったので、伝票やリスト形式のデータを取り込む際は非常に楽になりましたね。
ただし、ExcelをPDF形式で印刷したような、テキストデータがあるファイルしか値を取得することはできないので、紙をスキャンしてPDF化したファイルからは読み取りが行えないので注意してください。
紙をスキャンした場合は素直にOCRを使用しましょう。
また、条件がまだ明確わかりませんが、テーブル内の文字列に全角スペースが入っていたりすると別の列として認識されることがあるようです。
この辺りは別途検証を進めていきたいと思いますが、使用する際は注意してください。
データテーブル変数に新規プロパティ追加
データテーブル変数に新しく「ColumnHeadersRow」プロパティが追加されました。
このプロパティを使用することで、列名をテーブル形式で変数に取得することができます。
先ほどの「PDFからテーブルを抽出する」アクションのような、テーブル形式で値を取得するアクションと組み合わせることで、読み取った列名を取得して使用するような使い方ができそうです。
変数名を既存の変数名に変更することが可能に
変数の名前を変更する際、すでに存在する名前に変更することが可能となりました。
以前は既に存在する名前には変更できなかったため、後から変数の名前を統合しようとしたときは、一つ一つアクションの変数名を変えていく必要があり非常に面倒でしたが、このアップデート後は以下のように変数を統合するか聞かれるようになりました。
この統合作業は本当に大変で、漏れがあったりするとエラーとなってしまうため正直しんどかったのですが、今後は一発で変更ができるため、作業も楽になり変更漏れによるエラーもなくせる地味に助かる変更ですね。
サブフローのコピー
サブフローをコピーすることが可能となりました。
サブフローのタブ上で右クリック > コピー し 貼り付けを行うか、
サブフローの一覧からコピーしたいサブフローの … を左クリック、もしくはサブフローを右クリックし、コピー > 貼り付け を行うことでコピーができます。
今まではわざわざ新たにサブフローを作成したのち、コピーしたいサブフロー内のアクションを全選択 > 作成したサブフローにコピー とする必要がありましたが、一操作で行えるようになりました。
また、コピーができるようになったことで大きいのは、サブフローの並び替えができるようになったこと。
手順としては、以下のように
移動したいサブフローをコピー > 移動したい位置に貼り付け > 元のフローを削除し、コピーしたフローの名前を変更
とすることで、並び替えが行えます。
ワンクリックで出来るわけではないので、少々手間ですが、並び替えができるようになったのはありがたいですね!
まとめ
今回のアップデートで以下の改善、機能の追加が行われました。
- デスクトップフロー実行状況の表示
- フローデザイナーのパフォーマンス向上
- 「カスタムフォームの表示」アクションの追加
- 「base64変換」アクションの追加
- 「PDFからテーブルを抽出する」アクションの追加
- データテーブル変数に新規プロパティ追加
- 変数名を既存の変数名に変更することが可能に
- サブフローのコピー
今回のアップデートも盛りだくさんの内容でしたね…!
アップデートでは色々な変更が行われるので、これからも記事としてわかりやすくまとめていきたいと思いますので、ぜひまたチェックして頂けますと幸いです。