広告

Power Automate for Desktop(以下、PAfD)では、フローの途中で別のフローを呼び出すことができます。この機能を活用して、何度も使う処理を共通化する方法を確認しておきましょう。

フローが増えると同じような処理も増えてくる

PAfDを活用して自動化を進めていくと、当然のことながら作成するフローの数も増えていきます。

そうすると、それぞれのフローの中に同じような処理が含まれることも増えるわけですが、もしその処理の一部だけ修正したいとなった場合どうするか?

普通にフローを作っている場合、ひとつずつフローを開いて直していく必要がありますが、数が増えてくると結構大変な作業です。

そこで今回は、同じような処理を別のフローとして独立させてフローのメンテナンス性を向上させる方法を確認しておきましょう。

ブラウザーの画面をPDFファイルに保存する処理を別フローにする

例として、起動したブラウザー(Edge)の画面をPDFファイルに保存する、というフローを使います。

流れとしては

  1. Microsoft Edgeを起動する
  2. 保存する場所とファイル名を指定する
  3. 2で指定したフォルダ・ファイル名を使って、Edgeの画面をPDFファイルとして保存する
  4. 処理が完了したメッセージを表示する

とします。

このうち、cの部分を別のフローとして作成しておいて、元のフローから呼び出します。

PDFファイルに保存するフローの作成

まずcのPDFファイルに保存するフローを作成します。

事前準備としてbで設定する保存先とファイル名を受け入れるための入れ物を作ります。

この入れ物については、画面の右上にある「入出力変数」のところで、「入力変数」として事前に設定しておきます。

別のフローから渡される情報を入れるための入れ物なので「入力変数」。

設定の仕方は、まず「入出力変数」欄にある「+」ボタンを押して「入力」をクリック。

次に、「変数名」と「外部名」に「FileName」と入力して「作成」をクリックして完了です(「FileName」以外の名称でも構いません)。

ここまで準備できたら、PDFファイルに保存するフローを作成します。

最初に使いたいプリンターを設定してから、印刷画面を表示。

あらかじめ準備した「FileName」という変数で保存先とファイル名を指定してPDFファイルに保存する、という流れです。

先ほど作成した入力変数「FileName」はフローの6番目のところで使用しています。

※処理を安定させるためにWaitを多用かつ長めに設定していますが、この点はみなさんの環境に合わせて変更いただければと・・・。

このフローの詳細については、過去の記事を参照ください。

作成したフローを呼び出す元となるフローの作成

残りのa・b・dの部分を先ほどのフローとは別のフローとして作成します。

今回はシンプルにe-Taxの画面を開いて、保存先・ファイル名を「C:\テスト\print.pdf」とします。

実際に業務に活用する際には、保存先・ファイル名を決め打ちするのではなく

「画面の情報を読み取ってファイル名に反映させる」

といったことを行うこともありますが、今回は説明を簡単にするために敢えてこのようにしています。

作成したフローがこちら。

流れとしては、

1でEdgeを起動してe-Taxのホームページを表示

2で画面を保存するフォルダとファイル名(C:\テスト\print.pdf)を「SavePath」という変数に入れる

3で先ほど作成したフローを呼び出してPDFファイルに保存

4で処理が完了したことを伝えるメッセージを表示する

となります。

ここでポイントとなるのが3つ目の処理。

PAfDで他のフローを呼び出す際には、「Desktopフローを実行」というアクションを使います。

このアクションを配置すると次のような画面になりますので、「Desktopフローを選択する」の部分をクリックして、先ほど作ったフローを選択します。

先ほどのフローは「【モジュール】EdgeでのPDFファイル保存」という名前にしていますのでこれをクリックして「選択」。

すると「入力変数」を選択する画面が出てきます。先ほどのフローで設定した「入力変数」の名前である「FileName」が左側に表示されていることが確認できます。

つまりここで「FileName」に渡す情報をPAfDに指示します。

渡したい情報は保存先とファイル名なので、「入力変数」欄の右側にある{x}を押して、先ほど保存先とファイル名を設定した「SavePath」という変数をクリックして「選択」を押します。

そのあと「保存」をクリックすれば完了です。

このように設定することで、元のフローで設定した保存先とファイル名が「FileName」という変数を通じて、「【モジュール】EdgeでのPDFファイル保存」という名称の別のフローに渡されます。

ここまでできたら、あとから作ったフローを実行します。

(「【モジュール】EdgeでのPDFファイル保存」は自分で実行する必要はありません。)

すると、Cドライブのテストフォルダに「print.pdf」というファイルが保存されて、処理が終わったことを示すメッセージが表示されます。

広告

ボリュームが増えてきた段階で将来を見据えた対応を

今回は、フローから別のフローを呼び出すアクションを使って、共通の処理を別のフローとして独立させる方法を確認しました。

利用するフローの数が少ないうちは、今回のような処理を意識する必要はありませんが、もし今回のようなPDFファイルに保存する処理を使ったフローが100個あったとしたらどうなるでしょうか。

たった1つのアクションを修正する場合であっても、フローを100回開いてひとつずつ直していかなければなりません。

ところが今回のように処理を分けておけば、この修正が1回で済みます。

量が増えれば増えるほど、単純な修正であっても時間を取られるものです。

なお、「処理を分けることにより、将来の修正がカンタンになる」と説明しましたが、それ以外にもフローが見やすくなるというメリットもあります。

PAfDはアクションを順番に並べる形式のため、フローが長くなると途中で何をしているのかわかりづらくなります。

この点についても、処理を複数に分けることにより作成したフローが読みやすくなるという効果が期待できます。

「自分が使っているフローが増えてきたな」と感じた場合には、将来のメンテナンスにかかる時間を節約するためにも、今回のような対応を一度検討いただければと。

投稿者

加藤 博己
加藤 博己加藤博己税理士事務所 所長
大学卒業後、大手上場企業に入社し約19年間経理業務および経営管理業務を幅広く担当。
31歳のとき英国子会社に出向。その後チェコ・日本国内での勤務を経て、38歳のときスロバキア子会社に取締役として出向。30代のうち、7年間を欧州で勤務。

40歳のときに会社を退職。その後3年で税理士資格を取得。

中小企業の経営者と数多く接する中で、業務効率化の支援だけではなく、経営者を総合的にサポートするコンサルティング能力の必要性を痛感し、「コンサル型税理士」(経営支援責任者)のスキルを習得。

現在はこのスキルを活かして、売上アップ支援から個人的な悩みの相談まで、幅広く経営者のお困りごとの解決に尽力中。
広告