RPA

UiPathのifとSwitchで条件分岐【基本編】

こんにちは、Takaです。

前回に引き続き UiPath の基本編です。今回は条件分岐として if-else と Switch を使います。基本中の基本なのでさらっと書きあげます。

参考にした学習ツール
udemy-uipath-level1
UiPath – Level 1 Robotic Process Automation

if-else

UiPath で条件分岐(if-else) を作成します。ここでは、シーケンスとフローチャートの2パターンでそれぞれ説明していきます。

シーケンスで if-else

シーケンスを新規で追加して「代入」のアクティビティを追加します。

insert-assign

Condition という変数に、True という既定値を代入します。変数の型などは Generic Value のままでOKです。

set-condition-variable

ここで条件分岐を追加します。上記の代入で設定された値を元に、True か False で処理を変えていきます。

insert-condition

「Condition」に前処理で定義した変数 “Condition ” が True の場合、という条件を追加して、Then 以下にメッセージボックスを追加します。

set-condition-and-insert-msg

メッセージボックスに文字列を追加します。「Else」側にも同様にメッセージボックスを追加します。この場合、「Then」に追加したメッセージボックスをコピー&ペーストで追加してメッセージをすこし変更します。UiPath ではコピー&ペーストが使えるので便利です。

set-comments

実行してみます。代入で True になっているので、もちろん 「Then」で設定した処理が実行されます。

run-if-else-activities

フローチャートで if-else

フローチャートで if-else を設定します。まずは作成したシーケンスを削除した後、Main で「フローチャート」を追加します。最初のアクティビティとして「代入」を設定して上述の通り、True として定義しておきます。

create-if-else-flowchart

フローチャートは「フロー条件分岐」というアクティビティを使うことができます。これはシーケンスでは使えないアクティビティです。代入の下に追加します。

set-condition

左が True で、右が False の結果になります。この True と False は プロパティで名前を変更できます。「条件」の箇所には、代入で定義した変数名を入力しておきます。

ifelse-flowchart

True と False の両方にメッセージボックスを追加してみましょう。そして「フロー条件分岐」とメッセージボックスを接続します。

set-msg-boxes

「Start」から「代入」、「フロー条件分岐」をすべて接続したら左上の実行ボタンをクリックしてみましょう。

connect-all-and-run

結果のダイアログが表示されました。

result-true

Switch

次は Switch を使って分岐を行います。

シーケンスで Switch

新しくシーケンスを追加します。まずは「入力ダイアログ」を追加して、ダイアログ名とメッセージを追加します。これは実行するとこのようなダイアログで表示されます。

switch

入力ダイアログの Output において、変数の定義をします。今回は FavoriteSports としています。

set-variable

次に、「スイッチ」のアクティビティを追加します。「Expression」で入力ダイアログの Output を追加して、プロパティの「TypeArgument」では “String” を選択します。

add-switch

「新しい case の追加」で Case を追加できるようになるので、適切な Case を追加していきましょう。ここでは、ダブルクォーテーションで Case 名を囲う必要はありません。

set-cases

Default Case は、作成した case 以外の入力の場合のアクションです。適当にメッセージボックスを追加してみます。

set-default

他のケースでも同様にメッセージボックスを追加します。

set-cases

実行してみます。メッセージボックスで “バスケットボール” を入力すると、このようなメッセージボックスが出力されました。

switch-output

フローチャートで Switch

フローチャートで Switch を行います。新しくフローチャートを追加して、上述のように「入力ダイアログ」を追加します。「入力ダイアログ」をダブルクリックして文字列を追加します。

insert-input-dialog

プロパティの「出力」で “Output” で変数を追加します。

add-output-variable

「フロースイッチ」を追加します。これもフローチャートで利用できるアクティビティです。

add-flowchart

「フロースイッチ」のプロパティの「TypeArgument」を “String” にして、「式」に作成した入力ダイアログの出力変数名 “Output” を入れます。

set-property-of-flowchart

一度「Start」から「フロースイッチ」までをつなぎました。

connect-all-flow

ここで「メッセージボックス」を追加して、「フロースイッチ」と接続します。プロパティを見ると「DefaultCaseDisplayName」と「IsDefaultCase」があります。

「DefaultCaseDisplayName」は、Case 名で、「IsDefaultCase」は Case の既定値(Default)かどうかを設定します。ここはこのままでOKです。メッセージボックスの中身は、”This is Default” としています。

set-prop-of-case1

「メッセージボックス」をコピーして同じように「フロースイッチ」と接続し、「DefaultCaseDisplayName」を “日本” とします。「IsDefaultCase」のチェックは不要です。メッセージボックスの中身は、”好きな国は日本です” としています。

set-prop-of-case2

実行してみます。入力ダイアログで “日本” と入れると、メッセージボックスの日本が表示されました。

run-flowchart

このようにフローチャートで Switch を使います。「フロースイッチ」の接続できる Case は 12 です。

基本編はもう少し続く

もうちょっとだけ基本編は続きます。早く業務の作業効率化に向けてプロセスを作成したいので、基本編はサクッと終わらせようと思います。

それでは、今回はここまで!