スポンサーリンク

UiPath入門編④ 繰り返し処理について

繰り返し処理について

前回 UiPath入門編③ 条件分岐の処理について

今回は繰り返し処理について以下の4種類を説明します。

  • 繰り返し(前判定)
  • 繰り返し(後判定)
  • 繰り返し(コレクションの各要素)
  • フロー条件分岐による繰り返し

上記の他にもは、繰り返し(各行)という繰り返し処理がありますが、こちらはデータテーブルを扱うときに使用するため、データテーブルについて説明をした後に説明したいと思います。

それでは、実際にそれぞれどのように使うのか、どう違うのか説明していきたいと思います。

スポンサーリンク

繰り返し(前判定)

Body内の処理をする前に条件判定する。
処理を開始する前に条件判定をし、条件に合わない場合は処理をせず終了し、条件に合う間は処理を繰り返し行います。
処理開始時に条件に合わない場合は処理を行いたくないときに使用します。

繰り返し(後判定)

Body内の処理をした後に条件判定する。
処理を開始して終了時に条件判定をし、条件に合わない場合は終了し、条件に合う間は処理を繰り返し行います。
とりあえず、必ず1回は処理を行いたいときに使用します。

繰り返し(前判定)と繰り返し(後判定)の違い

上記ではとてもざっくりと説明しました。
言葉で説明するよりも実際にやってみた方がわかりやすいと思います。

a < 5という条件の間aを1ずつ加算するという繰り返し処理で aの初期値を 5にして条件に合わない状態で前判定と後判定の両方を作成してみます。

※条件は全て終了条件ではなく、繰り返し条件です。条件がTrueの間は繰り返し、Falseになったら終了します。

前判定の場合

アクティビティ検索欄に「繰り返し」と入力するか
ワークフロー -> 制御 -> 繰り返し(前判定)から配置してください。

配置が完了したらConditionCtrl + K aという変数を作成し、a < 5と入力します。
作成出来たら変数一覧から aの変数の型をInt32にし、スコープをシーケンスにし、既定値を
5に設定します。

次に、Body内に代入を配置します。
アクティビティのお気に入りから配置するか
ワークフロー -> 制御 -> 代入から配置してください。

配置が完了したら代入にa = a + 1となるように設定します。

次に「繰り返し(前判定)」の下にメッセージボックスを配置します。
アクティビティ検索欄に「メッセージボックス」と入力するか
システム -> ダイアログ -> メッセージボックスから配置してください。

配置が完了したらa.ToStringを設定します。

それでは実行してみます。

“5”と表示されました。
代入処理のa = a + 1は実行されていません。
このようにaが既に5以上の数値であるのように条件を達していないときは処理を行いたくない場合は前判定を使います。

次は同じ処理を後判定でやってみます。

後判定

アクティビティ検索欄に「繰り返し」と入力するか
ワークフロー -> 制御 -> 繰り返し(後判定)から配置してください。

後は全て先ほどの前判定と同じように設定します。

設定が完了したら実行してみます。

“6”が表示されました。
代入処理のa = a + 1が実行されました。
このようにaが既に5以上の数値であるのように条件を達していないときも必ず処理を一度は実行したい場合は後判定を使います。

これで繰り返しの前判定と後判定の処理については終了します。

繰り返し(コレクションの各要素)

こちらは配列(Array of <T>)リスト(List <T>)データの数だけ繰り返し処理したい場合に使用します。

実際に繰り返し(コレクションの各要素)を使用して確認します。
指定のフォルダ内にあるファイル名を配列として取得し、全て表示する処理を作成します。

まず、「フォルダー選択」と「代入」アクティビティを配置します。
一旦、先ほど使用したものは削除してください。
アクティテビィ検索欄にそれぞれ入力するか
システム -> ダイアログ -> フォルダー選択
ワークフロー -> 制御 -> 代入またはお気に入りから配置してください。

配置が完了したら、「フォルダー選択」のプロパティで「選択されたフォルダー」に
[Ctrl + K]で変数を新規作成し、selected_folderを入力してください。

代入には以下のように入力してください。
file_list = Directory.GetFiles(selected_folder)
file_listCtrl + K で変数を新規作成してください。

入力が完了したら変数一覧でfile_listの変数の型をArray ofStringを選択します。

次に「繰り返し(コレクションの各要素)」を配置します。
アクティビティ検索欄に「繰り返し」と入力するか
ワークフロー -> コントロール -> 繰り返し(コレクションの各要素)から配置してください。

配置が完了したら、「コレクション」にfile_listを入力します。

最後に「本体」の中に「1行を書き込み」を配置します。
お気に入り -> 1行を書き込みから配置するか
プログラミング -> デバッグ -> 1行を書き込みから配置してください。

配置が完了したら「Text」にitem.ToStringを入力してください。

これで全ての処理の設定が終了しました。

実行する前に選択するフォルダを決めておいてください。
ここではデスクトップに「UiPath入門編④」というフォルダを作成し以下の3つのテキストファイルを作成して実行します。

  • aaa.txt
  • bbb.txt
  • ccc.txt

それでは実行してみます。

このようにフォルダを選択する画面が出てくるので、任意のフォルダを選択してください。

UiPath画面左下の出力をクリックするとこのように1行を書き込みで設定した処理結果が表示されます。
ファイルの数だけ表示されていることが確認出来ました。
これで繰り返し(コレクションの各要素)については終了します。

フロー条件分岐による繰り返し

こちらはUipath入門編② フロチャートとシーケンスについてで少し説明しました。
今回はa > 5の間aを1ずつ加算するという処理を作成します。

まず、フローチャートとフロー条件分岐を配置します。
先ほど使用したものは一旦削除するか新規作成してください。
アクティビティ検索欄に「フローチャート」と入力するか
ワークフロー -> フローチャート -> フローチャートフロー条件分岐から配置してください。

次に「Start」の下に代入を配置してください。
配置が完了したら、代入には以下のように入力してだくさい。
a = a + 1
aは[Ctrl + K]で変数を新規作成してください。

入力が完了したら、変数一覧で aの変数の型をInt32に、既定値を 0設定してください。

次にフロー条件分岐のプロパティで「条件」にa > 5と入力し、フローの矢印を以下の画像のように設定してください。

最後に、メッセージボックスをフロー条件分岐の下に配置します
アクティテビィ検索欄に「メッセージボックス」と入力するか
システム -> ダイアログ -> メッセージボックスから配置してください。

配置が完了したら以下の内容でメッセージボックスのプロパティを入力してください。

項目設定内容
キャプション“繰り返し結果”
テキストa.ToString
ボタンOk

入力が完了したら、以下の画像のようにフローの矢印を設定してください。

これで全ての処理の設定が終了しました。

それでは実行します。

このようにフロー条件分岐でFalseの矢印をフロー条件分岐よりも前の処理に繋げるとTrueになるまで繰り返し処理を設定するこが出来ます。Falseになるまでというように逆も可能です。

これでフロー条件分岐による繰り返し処理については終了します。

最後に

これで繰り返し処理についての説明は終了します。
種類が複数あるため、処理によって使い分けましょう。

UiPath入門編は今回で終了します
次回からはUiPathのデータ操作編です。

UiPathデータ操作編① 複数のデータ操作について

コメント