UiPath

【UiPath】条件分岐、スイッチ、フロー条件分岐、フロースイッチの使い分け

UiPath Studioの開発で、条件によって処理を分けたいことがあります。

しかし、条件によって処理を分ける方法は、複数存在するため、どれを使用して良いか分からない方も多いと思います。

この記事では、条件によって処理を分けるアクティビティの「条件分岐 (If)」、「スイッチ (Switch)」、「フロー条件分岐 (Flow Decision)」、「フロースイッチ (Flow Switch)」の使い分けについて、紹介します。

「条件分岐 (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)は、複数の条件で処理を変えたい時に使用します。

 

サンプルワークフロー1
str1が、東京、大阪、愛知、それ以外かで判定して、各条件のメッセージボックスを実行します。

・スイッチのプロパティ

※TypeArgumentをStringに変更しています。

・実行結果1

ペンギンさん
ペンギンさん
Expressionの値がCaseと一致する場合、そのCaseの処理が実行されます。

 

サンプルワークフロー2
str1が、東京、大阪、愛知、それ以外かで判定して、各条件のメッセージボックスを実行します。

・スイッチのプロパティ

※TypeArgumentをStringに変更しています。

・実行結果

ラッコくん
ラッコくん
Expressionの値が、どのCaseとも一致しない場合、Defaultの処理が実行されます。

 

フロー条件分岐 (Flow Decision)

フロー条件分岐 (Flow Decision)は、ワークフロー>フローチャート にあります。

フロー条件分岐 (Flow Decision)は、フローチャート上で、2つの条件によって処理を変えたい時に使用します。

 

サンプルワークフロー1
int1よりint2が大きいか判定して、TrueかFalseに応じて処理を行います。

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

・実行結果

 

ペンギンさん
ペンギンさん
条件分岐 (If)と違い、前のアクティビティの処理へ戻ることも出来ます。

サンプルワークフロー2
ダイアログの入力結果の値を10以下か判定して、TrueならOKのメッセージボックス、Falseなら再入力を促すメッセージボックスを表示し、ダイアログ入力に戻ります。

・入力ダイアログ

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

 

・実行結果2-1

ラッコくん
ラッコくん
フロー条件分岐が 1<=10となり条件を満たすので、Trueの後の処理の「OK メッセージボックス」が実行されます。

 

・実行結果2-2


ペンギンさん
ペンギンさん
フロー条件分岐が 100<=10となり条件を満たさないので、Falseの後の処理の「再入力 メッセージボックス」→「入力ダイアログ」が実行されます。

 

フロー スイッチ (Flow Switch)

フロー スイッチ (Flow Switch)は、ワークフロー>フローチャート にあります。

フロー スイッチ (Flow Switch)は、フローチャート上で、複数の条件によって処理を変えたい時に使用します。

 

サンプルワークフロー
str1の値が各Caseの値と一致するか判定し、各Caseに一致したメッセージボックスを出力します。条件に一致しない場合は、DefaultのCaseが実行されます。

・フロースイッチのプロパティ

・分岐条件のプロパティ

ペンギンさん
ペンギンさん
分岐の条件は、矢印をクリックして、Caseの値を編集することで、設定できます。

・実行結果

 

まとめ

  • 条件を満たすとき、満たさない時によって、処理を変えることのは、条件分岐 (If)を使用します。
  • 複数の条件で処理を分けたい場合は、スイッチ (Switch)を使用します。
  • フローチャートで条件を分けて処理をしたい、前のアクティビティの処理へ戻りたい場合は、フロー条件分岐 (Flow Decision)、フロー スイッチ (Flow Switch)を使用します。

 

最後に関連記事を紹介します。

↓UiPath Studioのアクティビティの使い方、開発時のチップスについては、以下記事にまとめています。

【UiPath】プロセス作成方法やアクティビティの使い方のまとめ記事UiPath Studioでのプロセス作成方法やアクティビティの使い方を体系的に学びたい方向けに、UiPath Studioのプロセス作成方法、アクティビティの使い方、開発時のチップスを分かりやすく説明します。...

https://penrako.com/uipathstudiosummary/(別ウインドウ)

 

↓使用頻度の高いアクティビティについて、アクティビティで出来ることと、アクティビティガイドへのリンクを一覧で解説した記事です。

https://penrako.com/activitylist/

https://penrako.com/activitylist/(別ウインドウ)