やりたいこと:入力した値によって複数分岐を設定する
RPA起動後、以下のようなダイアログを出現させて
入力した部署名をもとにフロアが何階にあるかを表示させる
という処理を行いたいと思います。
【処理の流れ】
1.入力ダイアログを表示
2.入力された値をもとに多分岐処理を設定
3.分岐によって表示するメッセージを設定する
【使用するアクティビティ】
1.InputDialog
2.Switch
3.MessageBox
1.入力ダイアログを表示
まず始めに部署名の入力をさせるため、InputDialogアクティビティを配置します。
画面に表示されるダイアログのタイトルとメッセージを設定しましょう。
次に、ダイアログに入力した文字を変数に格納するため、プロパティの出力に文字列型の変数を設定します。
今回はstr部署名としています。
この時点でロボットを起動すると以下のようにダイアログが表示されます。
2.入力された値をもとに多分岐処理を設定
次にダイアログで入力された変数str部署名の値によって条件を設定するため
Switchアクティビティを使用します。
Expressionには条件を設定します。
今回の条件にはstr部署名を設定しています。
条件の結果は文字列となるので、プロパティのTypeArgumentはStringを選択します。
条件の結果が数値となる場合はInt32を選択します。
Caseにはた条件の結果となる値を設定します。
今回は人事部・営業部・総務部を設定しました。
いずれにも該当しない場合はDefaultになります。
以上の設定が終われば分岐した条件によって処理を組み込んでいきます。
3.分岐によって表示するメッセージを設定する
Caseの中の処理を設定します。
下の図では、変数str部署名の結果が人事部であった場合に
MessageBoxアクティビティを使用して、「1階です。」と表示されるように処理を設定しています。
営業部と総務部にも同様に処理を設定しておきましょう。
また、str部署名に「製造部」など、Caseには存在しない値が格納されていた場合にはDefaultに飛ぶので、Defaultにも処理を設定しておきましょう。
以上で完成です!
実際に起動してみましょう。
営業部と入力すると、
無事に結果が返ってきました!(^^)!
ひとこと
If文は結果がTrueかFalseになるような条件を設定する必要がありますが、
Switchは複数の結果が返ってくるような条件を設定します。
条件の設定が複雑になってくるとIf文の中にIf文を入れたりして、フロー図が見辛くなってきます。
そんな時にSwitchアクティビティを使うとスッキリとさせることができるのでぜひ使ってみてください!
Youtubeでも実際の開発の流れを紹介しているので、RPAのイメージがまだ沸かない方はこちらも参考にしてみてください。
【RPA UiPath Studio】#4 Input Dialog とSwitchを使って多分岐をしよう
他にもアクティビティの使い方について紹介しています( ^^) _旦~~
また、こんな処理をしてみたいというご要望があれば実際にやり方を紹介したいと思っておりますのでコメントで教えていただけると嬉しいです^^