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年超。RPA支援8年超
2) RPA関連の書籍を6冊出版。
3)ご質問・お仕事のご依頼はこちら

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|フローの共有【無償版/有償版】

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

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