Power Automate Desktop|サブフローの活用方法

Power Automate Desktop

Power Automate Desktopのサブフローってどうやって使えばいいの?

という疑問に答えます。

Power Automate Desktopのサブフローって「何のためにどうやって使うのか?」って分かりにくいですよね。そこで、この記事ではサブフローの活用方法を解説します。

サブフローの活用方法

サブフローの活用方法は、簡単に分類すると、以下の4つがあります。

  1. フロー内で複数回行われる処理があるとき、同じフローを書かなくていいように、まとめる
  2. エラー発生時に呼び出されるようにし、エラー処理を記述しておく
  3. フローの可読性を上げ、メンテンナンスしやすくする
  4. サブフロー毎で共有しやすくする

1番目は、サブフローを「サブルーチン」として使うためです。

サブルーチンとは、特定の機能や処理をひとまとまりの集合として定義し、他の箇所から呼び出して実行できるようにしたものです。

サブルーチンとして使うことで、同じフローを複数回書くことを防ぎます。これはプログラミングの鉄則です。

2番目のエラー処理に利用する方法については、別の記事があるので参考にしてください。
>>ブロックエラー発生時のフローを作成する
>>ブロックエラー発生時を使ってリトライ実行する方法

この記事では、3番目の活用方法「フローの可読性を上げ、メンテンナンスしやすくする」について、フローを作成しながら解説します。4番目は最後のまとめで解説しています。

それではどうぞ!

検証バージョン
OS:Windows10
Excel:Microsoft 365 Apps for enterprise v.2207
Power Automate for desktopバージョン:2.23
この記事を書いた人
この記事を書いた人
こさい
こさい

(株)完全自動化研究所代表のこさいです。

1) エンジニア歴25年超。開発から業務改善まで幅広く経験してきました
2) 複数の企業においてRPAのコンサルティングを行っています
3) RPA関連の書籍を5冊出版しています

  1. オープンソースで作る!RPAシステム開発入門
  2. 実務者のための失敗しないRPAシナリオ設計入門
  3. UiPath業務自動化最強レシピ
  4. WinActor業務自動化最強レシピ
  5. Power Automate for desktop業務自動化最強レシピ

現在はChatGPTとPower Automate for desktopの書籍を執筆中!

Power Automate Desktop|サブフローの活用方法

準備しよう

記事「外部ファイルを使って変更に強いフローを作ろう」で作成したフローを使います。最初にこちらの記事を参考にしてフローを作成してください。

すでに作成済みの場合は、コンソールの中からフロー[外部ファイル利用]を選択し、[編集]をクリックしてください。図1のようにフローが作成されていますか?

【図1】フロー[外部ファイル利用]のメインフロー

フローを修正しよう

このフローをさらに実践的なフローとして使えるように、外部ファイル読み込み部分をサブフローとして切り分けます。

STEP1 サブフロー[GetParameter]を作成する

新しいサブフロー[GetParameter]を追加してください。

【図2】サブフロー[GetParameter]

サブフローの追加方法については、著書「Power Automate for desktop業務自動化最強レシピ」で詳しく解説しています。

2023年5月のバージョンアップにより、サブフロー名に日本語化使えるようになりました!

STEP2 メインフローの外部ファイル読み込みに関するアクションを移動する

メインフローの[特別なフォルダーを取得]アクションから[Excelを閉じる]アクションまでをサブフロー[GetParameter]に移動してください。

[特別なフォルダーを取得]アクションから[Excelを閉じる]アクションまでをカット([Ctrl]キー+[X])して、サブフロー[GetParameter]のワークスペースをクリックして、ペースト([Ctrl]キー+[V])することで移動できます。

もしくはマウスでドラッグ&ドロップする方法でも移動できます。

移動が完了するとサブフロー[GetParameter]は図3のようになります。

【図3】サブフロー[GetParameter]のフロー

STEP3 メインフローの外部ファイル読み込みに関するアクションを移動する

[サブフローの実行]アクションをメインフローの1ステップ目に追加してください。

ダイアログが表示されるので、[サブフローの実行]のドロップダウンリストから[GetParameter]を選択してください(図4)。

[保存]をクリックしてダイアログを閉じてください。

【図4】[サブフローの実行]ダイアログ

STEP4 メインフローの外部ファイル読み込みに関するアクションを移動する

メインフローとサブフロー[GetParameter]は図5のようになります。

完成したらフローを保存してください。

【図5】メインフローとサブフロー[GetParameter]

実行しよう

フローを実行してください。最初にExcelが起動して、すぐに閉じます。その後、Microsoft Edgeが起動し、サンプルWebサイトが開き、[ユーザーID]の入力ボックスにユーザーIDが入力されます。

図6の画面になったところでフローが終了します。

【図6】サンプルWebサイト

まとめ

前回の記事終了時のメインフローを比べてみてください(図7)。上が前回までのメインフローで、下が今回のメインフローです。

【図7】変更前後のメインフロー

単純にフローが短くなったので、可読性が上がりました。GetParameterというサブフローを実行するので、1ステップ目はパラメータを取得するんだな、とすぐにわかります。パラメータを取得する具体的な方法は無視できて、機能のみを理解することができるので、フローの理解が早く、正確になります。

また、パラメータを取得する機能に何らかの変更を加えたい場合は、サブフローだけを読めばいいので変更箇所の特定が簡単になります。これによりメンテンナンス性が向上します。

最後にもう一つメリットがあります。サブフロー「GetParameter」のみをテキストファイルに保存すれば、他のユーザーと共有することができます。これにより再利用性が向上して、チーム全体の開発効率がアップします。

フローの共有方法については、次の記事を参考にしてください。
>>Power Automate Desktop|フローの共有【無償版/有償版】

サブフローを利用することは「可読性の向上」「メンテンナンス性の向上」「再利用性の向上」というメリットがあることがわかりました。

コメント ログインすると書き込めます