SB C&Sの最新技術情報 発信サイト

C&S ENGINEER VOICE

SB C&S

Automation Anywhere - 【A2019】データソースを使う(Excel 編)

RPA
2020.04.28

データソースを使う
前回の記事では、変数の基本的な使い方を取り上げました。
しかし、値を変数化する以上、Bot の初めから終わりまで変数のデフォルト値をそのまま使い続ける、ということは少ないでしょう。Excel ファイル等のデータソースから読み取った値を変数に格納することで、変数の値を変えていくことができます。
よく使われるデータソースとしては、次の 3 種類があります。

  • Excel ファイル
  • CSV ファイル
  • データベース

これから、これらのデータソースの基本的な使い方を取り上げていきます。
今回の記事は、Excel 編です。
※本記事は、Automation Anywhere A2019 ビルドバージョン 3342 時点での情報です。


□目次

  1. Excel ファイルを操作するためのパッケージ
  2. ファイル読み込み操作の基本
  3. テーブル型変数を使った読み込み
  4. Tips ~パッケージ・読み込み方法の使い分け
  5. おわりに

1. Excel ファイルを操作するためのパッケージ

Automation Anywhere A2019 では、Excel ファイルを操作するためのパッケージとして、
次の 3 種類が用意されています。

  • Excel の基本操作
    Bot を実行するデバイスに、Microsoft Excel がインストールされていない場合でも、使用できます。
    Excel ファイルを開く/閉じる、セルの値を取得する、といった基本的な操作アクションが用意されています。
    *.xlsx ファイルにのみ対応しています。
    参考:Automation Anywhere 社製品ドキュメント「Excel 基本パッケージ」

  • Excel の高度な操作
    Bot を実行するデバイスに、Microsoft Excel がインストールされている場合に、使用できます。
    [Excel の基本操作]パッケージと同様の基本操作の他、セルの色を取得する、次の空欄のセルに移動する、マクロを実行する、といった高度な操作アクションも用意されています。
    *.xlsx、*.xls、*.xlsm、*.csv ファイルに対応しています。
    参考:Automation Anywhere 社製品ドキュメント「Excel 高度パッケージ」

  • Office 365 Excel
    Office 365(現 Microsoft 365)の Microsoft Excel Online(Web ブラウザ版)を操作するためのパッケージです。
    Office 365 への接続といった Online 版に即したアクションの他、[Excel の基本操作]パッケージと同様の基本操作アクションが用意されています。
    *.xlsx、*.xls、*.xlsm ファイルに対応しています。
    参考:Automation Anywhere 社製品ドキュメント「Office 365 Excel package」


本記事では、デスクトップファイルを扱う[Excel の基本操作][Excel の高度な操作]パッケージを使って Bot を作成します。
また、各パッケージ自体やその設定項目の詳細は Automation Anywhere 社の製品ドキュメントへのリンクに代え、本記事ではファイルを読み込むにあたってのこれらの使い方にフォーカスします。


2. ファイル読み込み操作の基本

本記事では、Excel ファイルを開いて 1 行ずつ読み込んでいくという操作を想定します。
基本的な Bot の構成は、[Excel の基本操作][Excel の高度な操作]どちらのパッケージを使った場合も同様です。例として、Excel ファイルのデータを 1 行ずつ読み込んで順にメッセージボックスに表示する場合、次のような構成になります。

BotStructure1.png

3 行目の「メッセージボックスに表示する」が、実運用では「業務用 Web システムのテキストボックスへ設定する」等になるでしょう。

Excel の基本操作
上記の Bot を、[Excel の基本操作]パッケージを使用して作成すると、次のようになります。
※Bot 作成の基本的な手順については、以前の記事を確認してください。

ExcelBasicActions.png

1. Excel ファイルを開く
 [Excel の基本操作]パッケージ > [開く]アクションを使用し、対象の Excel ファイルを開きます。
2-4. ファイルにおいて、1 行ずつ次の操作を繰り返す
 [ループ]パッケージ > [ループ]アクションを使用し、Excel シートの表を 1 行ずつ参照します。
 参考:Automation Anywhere 社製品ドキュメント「[ループ] パッケージ」
3. 対象列の値を読み込み、メッセージボックスに表示する
 参照している行の対象列(セル)の値を読み込み、
 [メッセージ ボックス]パッケージ > [メッセージ ボックス]アクションを使用して表示します。
 参考:Automation Anywhere 社製品ドキュメント「[メッセージ ボックス] パッケージ」
5. Excel ファイルを閉じる
 [Excel の基本操作]パッケージ > [閉じる]アクションを使用し、Excel ファイルを閉じます。

各アクションの設定において、注意すべきポイントは次の通りです。

BotDetails.png

Excel の高度な操作
[Excel の高度な操作]パッケージを使用する場合には、上記の[Excel の基本操作]となっている箇所が[Excel の高度な操作]に替わるのみです。

ExcelAdvancedActions.png

 

NOTE
[Excel の基本操作]パッケージ >[開く]アクションで開いたセッションと、[Excel の高度な操作]パッケージ >[開く]アクションで開いたセッションは、同名であってもそれぞれ別のセッションとして扱われます。
[Excel の基本操作]パッケージで開いたセッションは、[Excel の基本操作]でしか使用できません。同様に、[Excel の高度な操作]パッケージで開いたセッションは、[Excel の高度な操作]でのみ使用できます。


3. テーブル型変数を使った読み込み

先に取り上げた構成は最も簡単なものですが、Excel ファイルを読み込む Bot 構成としては、もう 1 つ考えられます。

BotStructure2.png

2 行目と 3 行目が、先の構成から変わっている箇所です。
ファイルを直接読むのではなく、シート上の表データをテーブル型変数に格納しておき、この変数に対して 1 行ずつアクセスしています。

Excel の基本操作
上記の Bot を、[Excel の基本操作]パッケージを使用して作成すると、先の Bot とは下記の部分が変わってきます。

TablebasicActions.png

2. テーブル型変数へ、Excel シートの表データを格納する
 [Excel の基本操作]パッケージ > [複数のセルを取得]アクションを使用し、テーブル型変数へ
 データを格納しておきます。
3-5. テーブル型変数において、1 行ずつ次の操作を繰り返す
 [ループ]パッケージ > [ループ]アクションを使用し、テーブル型変数を 1 行ずつ参照します。

Excel の高度な操作
この読み込み方法においても、[Excel の高度な操作]パッケージを使用する場合には、上記の[Excel の基本操作]パッケージを使用しているアクション([開く]、[複数のセルを取得]、[閉じる])を、[Excel の高度な操作]パッケージのものに置き替えることで対応できます。


4. Tips ~パッケージ・読み込み方法の使い分け

Excel ファイルのデータを 1 行ずつ読み込む方法には 2 通りあることを確認しました。2 つの方法はどのように使い分ければ良いでしょう。
また、デバイスに Microsoft Excel がインストールされており、*.xlsx ファイルを読み込みたい場合、[Excel の基本操作][Excel の高度な操作]のどちらを使えば良いでしょう。
Automation Anywhere 社からの公式な見解はありませんが、次のポイントが参考になるかもしれません。
※あくまでも、社内調査に基づく参考情報です。

ComparisonOfMethods.png

処理の対象

  • [Excel の基本操作]vs.[Excel の高度な操作]
    どちらも、ファイルを操作するためのパッケージです。ただし、ファイルの作成、書き込み、PDF 変換、マクロ実行といった、ファイルに対して実行する操作アクションは、[Excel の高度な操作]パッケージにおいてはるかに多く用意されています。
  • ファイルから読み込み vs. テーブル型変数から読み込み
    ファイルからの読み込みではファイルに対して、テーブル型変数からの読み込みではデータ(セルから読み取った値)に対して、処理を行うことになります。
    従って、各行で読み込みと書き込みを両方行いたい、あるいはセルの色など値以外の属性を取得したい、といった場合は、ファイルからの読み込みにする必要があります。
    テーブル型変数にデータを格納した場合、[データ テーブル]パッケージを使用できるため、テーブルの結合や重複行の削除といった、データに対する高度な処理を行うことができます。

処理の速度

  • [Excel の基本操作]vs.[Excel の高度な操作]
    本記事のように、どちらのパッケージにも共通で用意されている操作であれば、[Excel の基本操作]がはるかに速いようです。[Excel の高度な操作]は GUI 上にファイルを開いて実行されるのに対し、[Excel の基本操作]はバックグラウンドプロセスで実行されます。
  • ファイルから読み込み vs. テーブル型変数から読み込み
    テーブル型変数からの読み込みの方がやや速いようですが、大きな差は無いようです。


5. おわりに

本記事では、Automation Anywhere A2019 において Excel ファイルからデータを読み込む方法を取り上げました。本文中に示した通り、読み込む方法は 1 つではありません。
プロジェクトの要件に合わせて、最適な方法を選択しましょう。

AA_EV_Banner2.png

他のおすすめ記事はこちら

著者紹介

SB C&S株式会社
C&S Engineer Voice運営事務局

最新の技術情報をお届けします!