コントロールフロー

前章で説明したフロー条件分岐を具体例を挙げて解説していきましょう。

うるう年かどうかを調べる

それでは例として、入力した西暦がうるう年の場合とそうでない場合に、それぞれ別のメッセージを表示させてみましょう。

まずUiPathを立ち上げ、操作画面の説明、メッセージボックスの表示2.新規プロジェクトの作成にあるように空のフローチャートを作成します。

まずは変数を作成しましょう。変数パネルを開き、変数名にyearと入力し、変数の型をInt32に設定します。変数がよく分からない方は、変数を使ってメッセージを表示させるを参照して下さい。

次に入力ダイアログというアクティビティをアクティビティパネルからデザインパネルに追加します。アクティビティが見つからない場合は、検索をかけると見つかりますので、それをドラッグアンドドロップします。

今後よく使うアクティビティは、そのアクティビティをマウスで右クリックして、お気に入りに追加ができます。

そして追加したデザインパネルにある入力ダイアログをマウスで右クリックし、Startnodeとして設定(A)を選択してワークフローを作ります。

入力ダイアログを1回クリックすると、入力ダイアログのプロパティがプロパティパネルに表示されます。そこで、ラベルの欄に西暦を入力してくださいと入れます。重要なのは、ラベルを引用符で囲むことです。

また、結果の欄に先ほど作成した変数のyearを入力します。ここは引用符で囲む必要はありません。

ラベルを入力する別な方法として、入力ダイアログをダブルクリックすると、直接アクティビティ内にラベルを入力できます。

次はフロー条件分岐をデザインパネルに追加します。
追加したら、入力ダイアログの上にマウスカーソルを持っていくと、4つのドット(小さな四角)が各面に現れます。そこで下面のドットをドラッグしてフロー条件分岐に持っていき、ドロップすると(マウスボタンを離すと)、入力ダイアログとフロー条件分岐がつながります。

次は入力ダイアログで入力された西暦を調べます。
うるう年かどうかを調べるには、西暦を4で割って余りが0かどうかでうるう年が分かります。例えば2020年を4で割った場合は余りは0になるので、その年はうるう年であり、2021年を4で割ると割り切れず余りが25になるので、うるう年ではないことが分かります。

そこで演算子であるmodを使い、割り算の余りを出力させます。下記をフロー条件分岐のプロパティの条件に入力します。

year mod 4 = 0

さて、ここで2つのメッセージボックスを追加します。メッセージボックスは前章ですでに使ったので、アクティビティパネルの最近という項目に表示されていてすぐに見つかると思います。もし見つからない場合は、例によって検索をかけてみてください。
2つのメッセージボックスをデザインパネルに追加したら、それをフロー条件分岐のそれぞれ右下左下に配置します。

ここでフロー条件分岐の上にマウスカーソルを置いてみてください。左面にTrue、右面にFalseが表示されましたね。

このドットをドラッグしてTrueは左下のメッセージボックスにつなぎ、Falseは右下のメッセージボックスにそれぞれつなぎます。つまりTrueとつながっているメッセージボックスにはうるう年であるメッセージが入力し、Falseとつながっているメッセージボックスにはその逆を入力します。

最終的に下図のようになります。

最後に、各メッセージボックスのテキストの欄にダイアログに出力するメッセージを入れます。メッセージボックスをダブルクリックし、ダブルクォーテーション(引用符)で囲んでメッセージを入れます。

さて、これで準備が整いましたのでメニューにあるファイルをデバッグを押して実行してみましょう!
ダイアログが出ましたか?

西暦を入力してOKを押すとメッセージが現れましたね。

ただこれだと1回しかダイアログが現れません。そこでうるう年でない場合には、繰り返し入力ダイアログを表示するように設定してみましょう。

うるう年ではないメッセージボックスにマウスカーソルを持っていき、4面にドットが現れたら、右面のドットをドラッグして入力ダイアログの右面に持っていき、2つのアクティビティをつなぎます。

再度ファイルをデバッグを押して実行をしてみましょう。うるう年でない場合は再度入力ダイアログが表示されましたか?

いかがでしたでしょうか。今回は簡単なワークフローを作成しましたが、フロー条件分岐を使えば、より複雑なワークフローを構築することも可能です。



参考にしたサイトのリンク
https://www.uipath.com/developers/video-tutorials/control-flow