【初心者向け】UiPathによるRPA実装28 Ifを利用した処理結果通知の実装

前回の記事では、条件分岐の1つとして、Flow Decisionの使い方を説明しました。

今回の記事では、「プログラム終了時に、処理した申請書の有無によって異なるメッセージをポップアップで表示する」処理を追加しながら、もう1つの条件分岐であるIfの使い方を紹介したいと思います。

<スポンサーリンク>

対応手順と実装

今回は特段複雑なことはありませんので、簡単に対応手順を整理した後、実装に入ってしまいたいと思います。

対応手順

まず、申請書があったかどうかを入れるVariableを用意しておき、デフォルトで「申請書があった」というステータスを入れておきたいと思います。もしも、申請書ファイル名を取得する際にファイルが存在しないことが分かったら、このVariableに「申請書がなかった」というステータスを入れることにし、逆に申請書が存在する場合はVariableの値は変更せず、その後の処理を進めます。

そして、すべての処理が終わった際、このVariableのステータスに応じて、異なるメッセージをポップアップで表示する、という手順で処理を組み立てたいと思います。

処理の大まかな流れは以下の図のようになります。

実装

それでは、早速実装に移りましょう。

まず、Variablesペインにて、申請書ファイルの有無を入れるVariableを作成します。名称はここでは「fileExist」としておきます。

そして、Variable Typeですが、今回はBoolean型というものを使います。

このBoolean型は”True”と”False”の2値だけを持ちうる型で、今回のような、ある条件の判定結果を保存するために使用します

続くScopeですが、このVariableはMainワークフロー全体で使用しますので、Flowchartと指定します。

最後にDefaultですが、先ほど整理した手順の通り、デフォルトでは「申請書が存在する」というステータス、つまりTrueを指定しておきます。

続いて、申請書ファイル名を取得する際に、申請書が存在しない場合にfileExistをFalseにする処理を追加します。

fileExistにFalseを入れるとき、つまりVariableに値を入れる時に使うActivityはAssignでしたね。このActivityをMainワークフローに追加し、「fileExist = False」と指定します。

次に「申請書ファイル名取得」ボックスのFlow DecisionからFalseの線を出し、追加したAssignボックスに連結しましょう。その際、Flow DecisionのFalse Label Propertyには「申請書なし」等、分かりやすいラベル名を入れておきましょう。

最後に、fileExistの内容がTrueかFalseかに応じて、異なるメッセージを表示する処理を追加します。ここでIf Activityを使用します。

まず、ActivitiesペインよりIfを検索し、フローの一番最後(「結果ファイル更新」ボックスの下)に追加します。また、先ほど追加したAssignボックスからも、このIfボックスに線を引いておきましょう。

続いて、Ifボックスの中身の設定に移ります。このボックスをダブルクリックで開いて、中身を見てみましょう。

ボックスには3か所入力する欄があります。

まず「Condition」には、Boolean型のVariableまたはBoolean型の結果を返す式や関数を入力します。今回のケースでは、先ほど作成したfileExist Variableが該当します。

そして、「Then」と「Else」には、それぞれ、ConditionがTrueであった場合の処理とFalseであった場合の処理を記載します

今回ポップアップを表示したいので、両欄ともMessage Box Activityを入れます。表示するメッセージですが、ここでは、Trueの場合「処理が正常に完了しました」と、Falseの場合は「申請書がありませんでした」とします。

テスト実行

それでは、正しくポップアップが表示されるか、テスト実行してみましょう。

まずは申請書フォルダに申請書ファイルがある状態で処理を実行します。

正しく処理が行われた場合、以下のポップアップが表示されます。

次に、申請書ファイルがない状態で実行してみましょう。今回は以下のポップアップが表示されるはずです。

プログラムは正しく動作しましたでしょうか。

終わりに

前回、今回の2回で条件分岐用のActivityであるFlow DicisionとIfの使い方を簡単に紹介しました。また、今回、これらActivityでよく使われるBoolean型Variableの使い方についても簡単に触れました。

これで、基本的な条件分岐は使いこなせるようになったものと思います。

次回ですが、Excelファイルを繰り返し処理するときに使ったFor Eachの応用として、「ファイルに不備があった場合にそのファイルをスキップして、次のファイルの処理に移る」という操作を自動化したいと思います。