Power Automate Desktopのサブフローってどうやって使えばいいの?
という疑問に答えます。
Power Automate Desktopのサブフローって「何のためにどうやって使うのか?」って分かりにくいですよね。そこで、この記事ではサブフローの活用方法を解説します。
サブフローの活用方法は、簡単に分類すると、以下の4つがあります。
- フロー内で複数回行われる処理があるとき、同じフローを書かなくていいように、まとめる
- エラー発生時に呼び出されるようにし、エラー処理を記述しておく
- フローの可読性を上げ、メンテンナンスしやすくする
- サブフロー毎で共有しやすくする
1番目は、サブフローを「サブルーチン」として使うためです。
サブルーチンとして使うことで、同じフローを複数回書くことを防ぎます。これはプログラミングの鉄則です。
2番目のエラー処理に利用する方法については、別の記事があるので参考にしてください。
>>ブロックエラー発生時のフローを作成する
>>ブロックエラー発生時を使ってリトライ実行する方法
この記事では、3番目の活用方法「フローの可読性を上げ、メンテンナンスしやすくする」について、フローを作成しながら解説します。4番目は最後のまとめで解説しています。
それではどうぞ!
Excel:Microsoft 365 Apps for enterprise v.2207
Power Automate for desktopバージョン:2.23
Power Automate Desktop|サブフローの活用方法
準備しよう
記事「外部ファイルを使って変更に強いフローを作ろう」で作成したフローを使います。最初にこちらの記事を参考にしてフローを作成してください。
すでに作成済みの場合は、コンソールの中からフロー[外部ファイル利用]を選択し、[編集]をクリックしてください。図1のようにフローが作成されていますか?
フローを修正しよう
このフローをさらに実践的なフローとして使えるように、外部ファイル読み込み部分をサブフローとして切り分けます。
STEP1 サブフロー[GetParameter]を作成する
新しいサブフロー[GetParameter]を追加してください。
STEP2 メインフローの外部ファイル読み込みに関するアクションを移動する
メインフローの[特別なフォルダーを取得]アクションから[Excelを閉じる]アクションまでをサブフロー[GetParameter]に移動してください。
[特別なフォルダーを取得]アクションから[Excelを閉じる]アクションまでをカット([Ctrl]キー+[X])して、サブフロー[GetParameter]のワークスペースをクリックして、ペースト([Ctrl]キー+[V])することで移動できます。
もしくはマウスでドラッグ&ドロップする方法でも移動できます。
移動が完了するとサブフロー[GetParameter]は図3のようになります。
STEP3 メインフローの外部ファイル読み込みに関するアクションを移動する
[サブフローの実行]アクションをメインフローの1ステップ目に追加してください。
ダイアログが表示されるので、[サブフローの実行]のドロップダウンリストから[GetParameter]を選択してください(図4)。
[保存]をクリックしてダイアログを閉じてください。
STEP4 メインフローの外部ファイル読み込みに関するアクションを移動する
メインフローとサブフロー[GetParameter]は図5のようになります。
完成したらフローを保存してください。
実行しよう
フローを実行してください。最初にExcelが起動して、すぐに閉じます。その後、Microsoft Edgeが起動し、サンプルWebサイトが開き、[ユーザーID]の入力ボックスにユーザーIDが入力されます。
図6の画面になったところでフローが終了します。
まとめ
前回の記事終了時のメインフローを比べてみてください(図7)。上が前回までのメインフローで、下が今回のメインフローです。
単純にフローが短くなったので、可読性が上がりました。GetParameterというサブフローを実行するので、1ステップ目はパラメータを取得するんだな、とすぐにわかります。パラメータを取得する具体的な方法は無視できて、機能のみを理解することができるので、フローの理解が早く、正確になります。
また、パラメータを取得する機能に何らかの変更を加えたい場合は、サブフローだけを読めばいいので変更箇所の特定が簡単になります。これによりメンテンナンス性が向上します。
最後にもう一つメリットがあります。サブフロー「GetParameter」のみをテキストファイルに保存すれば、他のユーザーと共有することができます。これにより再利用性が向上して、チーム全体の開発効率がアップします。
サブフローを利用することは「可読性の向上」「メンテンナンス性の向上」「再利用性の向上」というメリットがあることがわかりました。
コメント ログインすると書き込めます