みなさん、こんにちは。鈴木です。
前々回「【A360】初めてのBot作成 vol.7 Excelの基本操作パッケージを使ってみよう!」と、
前回「【A360】初めてのBot作成 vol.8 Excelの高度な操作パッケージを使ってみよう!」では、
Excel操作について説明しましたが、今回は処理を繰り返し実行する「ループ」パッケージのご紹介です。
Let's RPA!!
※本記事はAutomation 360 v.23 (Build 11513) 時点での情報です。
□目次
1.「ループ」パッケージの使い方
「ループ」とは「繰り返し」のことです。
同じ処理を繰り返し実行する際は、「ループ」パッケージを上手に使っていきましょう。
1-1.ループの種類
たとえば、下記のような処理をする際に活用できます。
・フォルダ内のファイルを、1つずつ処理する
・フォルダ内のサブフォルダを、1つずつ処理する
・メールボックスのEメールを、1件ずつ処理する
・リスト型変数の中身を、1つずつ処理する
・ディクショナリ型変数の中身を、1つずつ処理する
・読み込んだCSVを、1行ずつ処理する
・読み込んだExcelを、1行ずつ処理する など
また、「ループ」処理で重要な「続行」と「Break」も覚えておきましょう。
1-2.続行アクション
「続行」が実行されると、それ以降の処理はスキップされ、ループ処理の先頭に処理が戻ります。
続行アクションのイメージ図
例えば、データ登録を繰り返すロボットを作成する際、
データが「登録済」であれば、そのデータは登録処理をスキップしないといけません。
データのステータスが「登録済」であるかを判定して、登録済であれば、
「続行」アクションを使って、それ以降の処理をスキップして次のデータの処理を継続します。
1-3.Breakアクション
「Break」が実行されると、ループ処理から抜けだして、ループ処理の次の処理を続けます。
Breakアクションのイメージ図
例えば、ループ処理の途中でエラーが発生した場合、
エラー処理を実行するために「Break」アクションを実行してループを抜けます。
2.「ループ」パッケージを使ってみよう!
前回までの記事で、Excelファイルを読み込むことができました。
読み込んだファイルを1行ずつ処理するには2つ方法があります。
- テーブル変数を使ったループ
- Excelの(基礎 or 高度な)操作を使ったループ
それぞれの方法を詳しく見てきましょう!
2-1.テーブル変数を使う場合
前回までの記事で、Excel/CSVファイルをテーブル変数に
読み込むことができたので、以下の手順で設定していきましょう!
①ファイルを読み込んだテーブル変数を指定します。
②1行ずつデータを取り扱うので、レコード変数を指定します。
今回は、変数を事前に作成していなかったので、変数作成ボタンをクリックします。
③任意の変数名を設定して、作成して選択ボタンをクリックします。
④ここまでやれば、ループ処理の設定は完了です。
⑤次にキャプチャアクションをループの中に移動しましょう。
⑥最後にキャプチャアクションのキーボード操作の部分を修正します。
既に設定されていた文字列を削除して、変数の設定ボタンをクリックします。
⑦先ほど作成したレコード変数を指定し、画面の入力項目に該当する値を設定します。
下の画像では、画面の[First Name]に対する値を設定しています。
⑧他の画面項目も同様に設定していきましょう。
Set Textの部分が全てレコード変数を参照しています。
テーブル変数のデータを読み込んでいるので、
データを読み込んだ後は、ファイルを閉じても大丈夫です。
開いたファイルを編集する必要がない場合は、こちらの実装方法が良さそうですね。
2-2.Excelの(基礎 or 高度な)操作を使う場合
前回までの記事で、Excel/CSVファイルをテーブル変数に読み込んでいましたが、
こちらの方法は、Excelパッケージの「複数のセルを取得」アクション
使わなかったパターンでの実装方法です。
①ファイルを開いた後に、反復子「シートの各行」を選択しましょう。
今回は、「Excelの高度な操作」でファイルを開いたので、
ループアクションでも同じように「Excelの高度な操作」を選択しています。
また、2-1と同じようにレコード変数も設定しました。
②2-1と同じように、ループ内にキャプチャアクションを移動して、
キーボード操作の内容も修正しましょう。
2-1と違ってファイルを読み込むアクションは必要なく、
ループ処理中はファイルが開いたままになっています。
開いたファイルにデータを追記するような場合は、こちらの実装方法が良さそうですね。
3.まとめ
今回は、ループ処理についてご紹介しました。
ループ処理でファイルを取り扱う場合は、2種類のやり方がありますので、
処理内容にマッチした方法を選択して実装してみてください。
またお会いしましょう!それでは!
著者紹介
先端技術推進統括部
RPAビジネス推進部
鈴木 陽介
C#によるシステム開発、POS開発を経てRPAエンジニアに。