StudioXについて学ぶ

UiPath StudioXで繰り返し処理の基本【ループって何?な人へ】

2021/04/30

「実行したら、上から下に処理が進んで終了」ってそれだけじゃ、なんか自動化っぽくないと思いませんか?

(もちろん、そんな自動化RPAもたくさん存在します。)

何十回、何百回と同じ処理を繰り返し処理してくれる、それでこそ自動化だろうって気がしますよね。

StudioXには、「繰り返し」のためのアクティビティがいくつか用意されています。

そして、繰り返し処理は、"プログラムの基本"と言われるロジックの1つです。

今回は、具体的に「繰り返しとは?」から説明しますので、しっかり基本を押さえていきましょう。

この記事では、

ループって何?
繰り返しはどんなときに使う?
繰り返しを組み込む方法を教えて。

こちらにお答えしていきます。

記事編集時のStudioX - ver2022.4.0

繰り返し処理とは

繰り返し処理とは、一連の処理について、条件を満たすまで繰り返す処理のことを言います。

そして、条件を満たしたら、繰り返しが終了します。

StudioXでは、「条件を満たす」とは、指定回数に達したかどうかです。

なお、繰り返し処理のことを、プログラムの世界では"ループ"と呼びます。

一定の回数に達したら終了というのは、ゲームに多いですよね。

回数に達したら終了するゲーム(例)

非表示の方法

  • ボウリングは10フレーム。
  • 野球は9回。
  • ダーツ(カウントアップ)は8ラウンド。

お仕事でも、「毎日大体10回ぐらい繰り返す」みたいに、おおよそ回数が決まっているものは色々とありそうです。

このように、一定回数処理を繰り返すためのアクティビティが、[繰り返し(指定回数)]アクションです。

[繰り返し(指定回数)]アクション

[繰り返し(指定回数)]アクションは、回数を指定し、その回数分一連のアクティビティを繰り返します。

StudioXのデザイナーパネルに追加すると、このようなボックスが表示されます。

このアクティビティには、[繰り返し]と、[繰り返し(指定回数)]の項目があります。

[繰り返し]には、現在何回目なのかが保存されています。

[繰り返し(指定回数)](項目)には、繰り返しを何回行うかを指定します。

[繰り返し]

[繰り返し]には、予め"CurrentItem"という値がありますが、好きに変更して構いません。

この"CurrentItem"には、[繰り返し(指定回数)]アクション内であれば参照できます。

[繰り返し(指定回数)](項目)

繰り返す回数を指定します。

指定する方法は、4つ用意されています。

余談ですが、ところで、回数というからには値は整数であることが前提です。

ここに、小数点の値を入れるとどうなるのでしょうか。

[実行時に確認]や[数]では、エラーメッセージを表示します。

でも、[ノートブック]だと、小数点であっても読み込んで処理します。

この時、値は四捨五入して整数に書き換えられます。

明確な目的がない限りは混乱のもとになるので、きちんと整数を設定したほうがいいでしょう。
おぐし

[現在の繰り返しをスキップ]アクション

1回1回の処理の中で、ある条件になったら、それ以降の処理をスキップして次の繰り返し処理を開始したい場合があります。

こんな場合は、[現在の繰り返しをスキップ]アクションを処理に追加してください。

これは、繰り返し処理専用のアクティビティです。

例えばボウリングの場合、1投目で10ピン倒したら、2投目はスキップされますよね。

これを例にとって、StudioXで組んでみましょう。

ストライクならスキップ

サンプルでは、「ストライクを取ったら2投目がスキップする」という部分だけを組むことにします。

1投球目や2投球目では、倒したピン数を手入力できるよう、[入力ダイアログ]アクションを使いました。

StudioXで組むと、以下のようになります。

 

[繰り返しを終了]アクション

繰り返し処理専用のものが、もう1つあります。

それが、[繰り返しを終了]アクションです。

その名のとおり、繰り返しのループを抜けて、後続の処理に進みます。

上のフロー図では、処理1と処理2の間にありますが、中断させるタイミングは、処理2の後でもOKです。

途中で中断する例として、野球のコールドゲームを考えてみましょう。

コールドゲームで終了

ちょっと無理やりな設定ですが、AチームとBチームの試合、Bチームは超弱小チームで1点も得点出来ないとします。

さらに、5回目に10点以上の差が付けば、Aチームのコールド勝ちとします。6回目以降のコールドの判定は、ここでは無視します。

野球ゲーム

  • AチームとBチームの野球試合
  • Bチームは得点出来ない(0点のまま)
  • 5回目で10点差が付けばコールド勝ち

ボウリングと同じように、得点に[入力ダイアログ]アクションを使います。

Bチームを超弱小にしたのは、処理を減らすためですね。
おぐし

StudioXで組むと、以下のようになります。

[現在の繰り返しをスキップ]と[繰り返しを終了]に必要なもの

2つのサンプルを見て分かるように、利用する場合は[条件分岐]アクションがセットになります。

どちらとも、どんな機能か分かってしまえば、必要な時に自ずと使うようになるでしょう。

まとめ

処理を繰り返すアクティビティは、Excelの処理を繰り返すものなど、他にもいくつか存在します。

その中でも[繰り返し(指定回数)]アクションは、基本となるアクティビティのため、繰り返し処理を理解するには最適です。

是非マスターしちゃってください。

まとめます。

まとめ

  • [繰り返し(指定回数)]アクションは繰り返し処理の1つ。
  • 繰り返し処理はループとも呼ばれる。
  • 処理を途中からスキップするのは[現在の繰り返しをスキップ]アクション。
  • 繰り返し処理を中断するのは[繰り返しを終了]アクション。

プログラミングでは「無限ループ」と呼ばれる、延々と繰り返しから抜けないというロジックミスをしてしまうことがあります。

StudioXは、予めそのミスを起こさないよう制限が掛けられています。

「配慮されてるなぁ」と、感じました。(Studioだと、無限ループが作れちゃいます。)

この記事で、何か1つでも新しい発見が得られたのなら、僕も嬉しいです。

-StudioXについて学ぶ

© 2023 おぐしログのRPA入門