UiPath Studioの開発で、条件によって処理を分けたいことがあります。
しかし、条件によって処理を分ける方法は、複数存在するため、どれを使用して良いか分からない方も多いと思います。
この記事では、条件によって処理を分けるアクティビティの「条件分岐 (If)」、「スイッチ (Switch)」、「フロー条件分岐 (Flow Decision)」、「フロースイッチ (Flow Switch)」の使い分けについて、紹介します。
関連記事 【UiPath】Udemyのオンラインコースでワンランク上のロボット作成技術を学ぶ

システム開発,クラウド構築,サービス企画まで幅広い経験を持つITエンジニア。当ブログでは、UiPathや資格取得のノウハウを発信します。profile詳細 / twitter:@fpen17
「条件分岐 (If)」、「スイッチ (Switch)」、「フロー条件分岐 (Flow Decision)」、「フロー スイッチ (Flow Switch)」の使い分け
「条件分岐 (If)」、「スイッチ (Switch)」は、フローチャートとシーケンスの両方で使えますが、前のアクティビティへ戻ることが出来ません。
「フロー条件分岐 (Flow Decision)」と「フロー スイッチ (Flow Switch)」は、フローチャートでのみ使用出来て、前のアクティビティへ戻ることが出来ます。
表にすると以下の通りです。
アクティビティ | フローチャート | シーケンス | 複数分岐 | 前のアクティビティへ戻る |
条件分岐 (If) | 〇 | 〇 | × | × |
スイッチ (Switch) | 〇 | 〇 | 〇 | × |
フロー条件分岐 (Flow Decision) | 〇 | × | × | 〇 |
フロースイッチ (Flow Switch) | 〇 | × | 〇 | 〇 |
条件分岐 (If)
条件分岐 (If)は、アクティビティのSystem>Activities>Statements にあります。
条件分岐 (If)は、条件を満たすとき、満たさない時によって、処理を変えることが出来ます。
条件を満たすかを判定する式(condition)には、Boolean型を入れます。
String型str1とstr2が一致するかを判定する式(condition)のサンプルコード
str1 = "abc"
str2 = "xyz"
String.Equals(str1,str2)
str1とstr2の文字列が一致しているか判定して、Trueの場合は”Yes”、Falseの場合は”No”のメッセージを出力します。
・実行結果
int型int1よりint2が大きいかを判定する式(condition)のサンプルコード
int1 = 100
int2 = 10
int1 > int2
・実行結果
スイッチ (Switch)
スイッチ (Switch)は、アクティビティのSystem>Activities>Statements にあります。
スイッチ (Switch)は、複数の条件で処理を変えたい時に使用します。
str1が、東京、大阪、愛知、それ以外かで判定して、各条件のメッセージボックスを実行します。

・スイッチのプロパティ
※TypeArgumentをStringに変更しています。
・実行結果1
str1が、東京、大阪、愛知、それ以外かで判定して、各条件のメッセージボックスを実行します。

・スイッチのプロパティ
※TypeArgumentをStringに変更しています。
・実行結果
フロー条件分岐 (Flow Decision)
フロー条件分岐 (Flow Decision)は、ワークフロー>フローチャート にあります。
フロー条件分岐 (Flow Decision)は、フローチャート上で、2つの条件によって処理を変えたい時に使用します。
int1よりint2が大きいか判定して、TrueかFalseに応じて処理を行います。
・フロー条件分岐のプロパティ
・実行結果
ダイアログの入力結果の値を10以下か判定して、TrueならOKのメッセージボックス、Falseなら再入力を促すメッセージボックスを表示し、ダイアログ入力に戻ります。
・入力ダイアログ

・フロー条件分岐のプロパティ

・実行結果2-1
・実行結果2-2
フロー スイッチ (Flow Switch)
フロー スイッチ (Flow Switch)は、ワークフロー>フローチャート にあります。
フロー スイッチ (Flow Switch)は、フローチャート上で、複数の条件によって処理を変えたい時に使用します。
str1の値が各Caseの値と一致するか判定し、各Caseに一致したメッセージボックスを出力します。条件に一致しない場合は、DefaultのCaseが実行されます。
・フロースイッチのプロパティ
・分岐条件のプロパティ
・実行結果
まとめ
- 条件を満たすとき、満たさない時によって、処理を変えることのは、条件分岐 (If)を使用します。
- 複数の条件で処理を分けたい場合は、スイッチ (Switch)を使用します。
- フローチャートで条件を分けて処理をしたい、前のアクティビティの処理へ戻りたい場合は、フロー条件分岐 (Flow Decision)、フロー スイッチ (Flow Switch)を使用します。
関連記事 【UiPath】Udemyのオンラインコースでワンランク上のロボット作成技術を学ぶ
\教育訓練給付金対象講座なら受講料最大45万円給付/
*オンライン個別説明会&相談会への参加は無料
関連記事 現役SEエフペンがもしIT未経験からWebエンジニアを目指すならプログラミングスクール【ディープロ】を受講する
