Automation 360 パッケージリファレンス ~ループ編~

Automation Anywhere 技術情報

はじめに

Automation 360のパッケージリファレンスでは、Automation 360でよく使うパッケージや、使い方が少し特殊なパッケージなどをご紹介します。
今回ご紹介するのは、「ループ」パッケージです。

1.ループパッケージの概要

  • パッケージ名:ループ
  • 用途:同じ処理を繰り返し実行したいときに使用するパッケージです。例えば、100個のファイルに同じ処理を行う場合、100回分同じ処理を記述するのは非効率です。ループパッケージを使うと効率的に処理を記述できます。
  • 主要な特徴
    • 大量のデータ処理を効率的に実現可能
    • 様々な繰り返し条件に対応(回数指定、ファイル・フォルダ・Excel・データベースなど。下記「代表的な繰り返し条件」参照)
      ※Automation360では繰り返し条件を「反復子」と言います。ループパッケージでは反復子を変数へ格納することで、それぞれのファイルや、Excelの各行などへ同じ処理を実行します。

2.アクション一覧

アクション名用途必須パラメータ戻り値の有無戻り値の内容と
戻り値例
ループ同じ処理を繰り返し実行する条件設定(下記代表的な繰り返し条件参照)なし
中断ループを途中で強制終了する(例:ファイルが100個あるが、50個目以降は処理しない)なしなし
続行現在の繰り返し処理をスキップし、次の繰り返しへ移行する(例:ファイルAの処理を切り上げ、ファイルBの処理へ移行する)なしなし

代表的な繰り返し条件一覧:

ループ条件用途反復子の型反復子の例
回数指定回数だけループ数値1, 2, 3…
While条件を満たすまでループなし
CSV・テキストの各行CSV/テキストファイルの各行でループレコード列1:”田中”, 列2:”営業部”
Excelシートの各行Excelの各行でループレコードA列:”商品名”, B列:”価格”
テーブルの各行テーブル変数の各行でループレコード各行のデータ
フォルダ内の各フォルダ設定したフォルダパスの各フォルダでループディクショナリName:”backup”, Path:”C:\temp\backup”
フォルダの各ファイル設定したフォルダパスの各ファイルに対してループディクショナリName:”data.xlsx”, Size:”1024″

3.使用例・サンプル

ユースケース1:請求書ファイルの一括処理

想定シナリオ:取引先から毎月送付される請求書PDFファイルを、ファイル名から会社名を読み取って取引先別フォルダに自動振り分けする業務の自動化

前提条件:PDFファイル名は「請求書_」に続けて会社名が記載されている
例:「請求書_A株式会社.pdf」「請求書_B株式会社.pdf」「請求書_C株式会社.pdf」

実装フロー:

  1. 請求書PDFファイルが格納されたフォルダ(例:C:\請求書\受信)内のファイルをループで取得
  2. ファイル名を変数に代入
  3. ファイル名から取引先名を抽出し変数に保存
  4. 取引先名のフォルダがなければ作成(例:C:\請求書\分類済み\取引先名)
  5. ファイルを取引先名フォルダへコピー
  6. 元ファイルを削除
コード例:

ユースケース2:売上データの集計レポート作成

想定シナリオ:複数の支店から送られてくるExcel形式の日次売上データを統合し、月次売上レポートを自動生成

実装フロー:

  1. 支店の日次売上が格納されたフォルダ(例:C:\売上データ\月次)内のExcelファイルをループで開く
  2. 各ファイルのシートの行をループし、支店名(A列)と売上金額(B列)を取得
  3. 売上金額を数値に変換し、合計売上額を算出
  4. ファイルを閉じる
  5. 集計用のレポートファイル(例:C:\レポート\月次売上レポート.xlsx)を開く
  6. 合計売上額を文字列に変換し、指定セル(例:B2)に書き込む
  7. レポートファイルを保存・閉じる
コード例:

4.Tips/注意点

よくある落とし穴と間違いやすいポイント:

  • While条件の使用時:Whileは条件を満たさなくなるまでループが終了しません。ループ内では必ず条件変数を適切に更新しないとループが終了しない(無限ループ)ので注意が必要です。
    Whileは極力使用しないことをお勧めします。「反復子:回数」で繰り返し回数を多めに設定し、条件を満たしたらループ中断する方法をお勧めします。
  • 数字の代入:反復子が数字型の場合、文字列として使用する場合は「型変換」が必要です。
    例)回数($Counter$)をExcelのA列を1行目から順に処理する場合:A$Counter.Number.toString$
  • ファイルループの使用方法:反復子のディクショナリには、対象フォルダ内のファイル名と拡張子がそれぞれのキーに格納します。
    )ファイル名$dicFiles{name}$拡張子$dicFiles{extension}$

パフォーマンス最適化のコツ:

  • 大量データを処理する際は、処理対象やデータ形式に応じて最適なループの種類を選択することが重要。CSVやテキストファイルの行単位処理には、専用のファイル系ループを使うことで読み込みや解析が効率化され、処理が高速化します。
  • 不要な処理は、条件に応じて”続行”アクションでスキップし、処理の継続が無意味な場合は中断することで、無駄な実行を防ぎ、全体のパフォーマンスを向上させます。
  • Excel操作は「基本操作」アクションを活用することで高速化します。

エラー対処法:

  • ファイル系ループでファイルが見つからない:フルパス生成時の区切り文字「/」「\」の誤りや拡張子の結合漏れ確認し、事前にファイルの存在確認を実装してください。
  • While条件でエラーが発生:条件式の構文や条件内変数の初期化・値の有無を確認し、無限ループや処理停止を引き起こさないよう注意が必要です。

5.まとめ

ループパッケージは、Automation 360におけるループ処理の中核となるパッケージです。単純な回数指定から複雑な条件付き処理まで、幅広いループパターンに対応できる柔軟性が最大の利点です。

本パッケージを使った業務活用アイデア:

  • 大量Excelファイル一括処理:多数のExcelファイルをまとめて操作・加工
  • 定期的Webデータ収集:Webデータを定期取得・更新
  • フォルダ内ファイル一括リネーム・移動:複数ファイルの整理・管理を自動化
  • データベースレコード順次処理:DB内レコードを順に処理
  • レポート生成自動化:データに基づく各種レポートを自動作成

公式ドキュメント

詳細な情報については、以下の公式ドキュメントをご参照ください。

・ループパッケージ
https://docs.automationanywhere.com/ja-JP/bundle/enterprise-v2019/page/enterprise-cloud/topics/aae-client/bot-creator/commands/cloud-loop-command.html

終わりに

本記事では、Automation 360における「ループ」パッケージの特徴や違い、実際の利用イメージについて解説しました。

記事を読むだけでなく、実際に手を動かしてみることで、より理解が深まります。「RPAに興味はあるけれど、高価なライセンスを購入するのはハードルが高い」と感じている方には、Automation 360 Community Editionがおすすめです。

Community Editionは完全無料で利用できるため、今回ご紹介したExcel操作の自動化をすぐに試すことができます。RPAツールの導入を検討されている方や、スキルアップを目指す方には、まずはCommunity Editionから始めてみるのがおすすめです。
Community Editionの公式HP: https://www.automationanywhere.com/products/community-edition

株式会社システムサポートでは、Automation 360の導入から開発支援、保守まで包括的にサポートしております。本ブログでは、Automation 360 Community Editionのインストール方法をご案内しておりますので、是非ご覧ください。⇒Automation Anywhere Community Editionをインストールしてみよう!【無料ではじめるRPA】

また、Automation 360をご導入いただいたユーザー様向けに、簡単なBot開発を体験いただけるハンズオンプログラムもご用意しています。ハンズオンでは、実際に手を動かしながら、弊社エンジニアのサポートのもとでBot開発の基本を習得いただけます。

ハンズオンのお申込みはこちら→お問い合わせ|Automation Anywhere導入支援 | 株式会社システムサポート | SYSTEM SUPPORT Inc.

最後までお読みいただき、ありがとうございました。

この記事を書いた人
C.K

RPAエンジニア歴1年目の登山好き社員です。

C.Kをフォローする
Automation Anywhere 技術情報