就業先では、RPAツールのBizRobo!を使用しています。BizRobo!開発で悩み、BizRobo!ナレッジベースで日々検索しています。
特定の作業を繰り返す作業が得意であるRPA。
BizRobo!でも他のRPAと同じく、繰り返し処理に対応しています。しかし、BizRobo!には繰り返しに対応しているステップが複数あり、自分が間違えてステップを使ってしまうことがありました。
今回は、BizRobo!の繰り返し処理について共有いたします。
※時間が経過して変わってしまった箇所や間違っている箇所、不適切な表現があるかもしれませんが、その時は都度修正いたしますので、ご指摘いただけると幸いです。
繰り返し処理の種類
ナレッジベースの下記から引用いたします。
ロボットフローを理解する(繰り返し処理)
「○○ループ(Loop~)」ステップ
「○○繰り返し(For Each~)」ステップ
「繰り返し(Repeat)」ステップ
「次へ(Next)」ステップ
Loopステップ、For Eachステップ、Repeatステップの3種類を説明します。
※Nextステップは、Repeatステップと一緒に使用するため、Repeatステップに含めます。
また、ループの全ステップは下記となります。
※私が持っているBizRobo!バージョンは、10.3.0.7です。
「○○ループ(Loop~)」ステップとは
各ステップ名に「ループ」があるステップが、対象になります。
「Excel内ループ」と「フィールド値ループ」の2つあります。
Excelファイルの行、列、セル、シートを対象に、繰り返し処理を行うことができます。
詳細は下記をご参照ください。
「Excel 内ループ(Loop in Excel)」ステップ
「フィールド値ループ」は使用したことがないため、解説できません。
「○○繰り返し(For Each~)」ステップとは
各ステップ名に「ループ」があるステップが、対象になります。
様々な種類が存在しますが、今回は「部分文字列繰り返し(For Each Text Part)」ステップを説明します。
下記のようなCSVファイルが存在したとします。
1,2,last
「,」という区切り記号をパターンとして認識し、区切り記号が終わるまで繰り返し処理を行います。ループ処理を行った場合、取得できる値は下記となります。
1回目:1
2回目:2
3回目:last
詳細は下記をご参照ください。
「部分文字列繰り返し(For Each Text Part)」ステップ
また、このステップを用いた、よく使用されるロジックの記事を見つけましたので、ご参考ください。
CSVファイルのデータを全て取得し、項目を分解する
「繰り返し(Repeat)」ステップ
「次へ(Next)」ステップと一緒に使用することで、繰り返し処理を実現させます。
無限ループを生み出すことができるため、「エラー処理(Error Handling)」タブ等を活用し、繰り返し処理を止める必要があります。「次へ(Next)」ステップへ処理を到達させないようにすれば、この繰り返し処理を終わらせることができるからです。
「繰り返し(Repeat)」ステップを用いる代表例は、複数ページにまたがるWebサイトを1ページずつページ移動させる時です。下記のような画面の時に役に立ちます。
詳細は下記をご参照ください。
「繰り返し(Repeat)」ステップ
複数ページにまたがるWebサイトで、それぞれのページをクローリングする方法
「繰り返し(Repeat)」ステップと他のステップとの違い
「○○ループ(Loop~)」ステップと「○○繰り返し(For Each~)」ステップの場合
対象がなくなるまで繰り返し処理を続けます。
例えば、Excelファイルを行からデータを取得する際、データがなくなったら終了します。
また、条件等によって、何回指定するか回数を決めることができます。指定した回数だけ繰り返します。
「繰り返し(Repeat)」ステップの場合
「次へ(Next)」ステップに到達し続ける限り、無限にループし続けます。
ループ内にあるステップにて、エラー処理タブの設定や条件設定などで意図的にループを終了させない限り、永遠にループし続けます。
最後に
BizRobo!の繰り返し処理について解説いたしました。
システム開発に携わっていた時は、繰り返し処理は、Forかwhileのどちらかを用いればよかったので、区別に困ったことはありませんでした。しかしRPAになると、繰り返し処理の使い分けを行わないといけないため、悩むときがあります。
自分の整理もかねて、今回の記事を書いたことで、BizRobo!の繰り返し処理を理解することが出来たと思っています。
今回の記事が、RPA開発で悩んでいる人の為になれば幸いです。