Automation Anywhere A2019 007 Excel操作③ データ テーブル

A2019 RPA

Excel操作③データテーブル

読者のみなさま!こんにちは!!Apachanです。
前回はAutomation Anywhere Community Editionを使ってExcelファイル間の転記処理を行いました。
アクションを選択してプロパティを設定、それらをつなぎ合わせることで容易にシナリオを作成することができました。
今回単一のセルではなく、複数のセルの値を一括処理することが可能な「データ テーブル」について解説します。

目次
・データ テーブルとは?
・事前準備
・複数のセルを取得へ変更
・転記処理(セルの設定)の変更
・実行結果
まとめ

・データ テーブルとは?

データ テーブルも変数のひとつです。
変数のタイプに関して「テーブル」を選択するとデータ テーブルとして扱えます。
データ テーブルは複数の値を格納することができるので特定のセル範囲を扱う際は重宝されます。
実際の業務で複数のセル(値)を扱うことはよくあることです。したがって、データ テーブルは必須機能と言えます。
データ テーブルを使うことでシナリオの実行速度が上がったり、保守性の向上につながります。
データ テーブルを利用すれば済むものを複数の変数を駆使してBot作成を試みるのは非効率といえるかも知れません。

<データ テーブルのイメージ>
データテーブルの特長

・事前準備

前回同様に今回もAというExcelファイルのセルの情報(単位ではなく範囲BというExcelファイルに転記するBotからデータ テーブルを解説します。
ただし、今回は新規でBotを作成するのではなく、前回作成したBotを複製してから編集していきます。
実際の業務においても、既存のBotを編集した方が早いケースもあるため、今回のようにBot複製からの編集も押さえておくと便利です。

※ 前回ブログリンク
Automation Anywhere A2019 006 Excel操作② 転記処理

Automation Anywhere Community EditionにログインしてBot一覧を表示しましょう。
下図のように前回のブログで作成したBotをコピーするところからスタートします。

Bot複製

コピーBotのダイアログが起動しますので、Botの名前のみ入力して「コピー」ボタンを押下します。

複製Botの名前決定

同一フォルダ内にコピーされたBotが作成されました。こちらのコピーされたBotを選択してください。

Bot複製完了&選択

下図のようなBot編集画面へ遷移すればOKです。

Bot編集画面遷移

前回のブログのように転記元と転記先のExcelファイルもデスクトップ上に準備します。
A.xlsxのD3:F5のセル範囲には適当な値をセットしておきます。

転記元と転記先の各々2種類のExcelファイルを作成

・複数のセルを取得へ変更

前回しようしたアクションは「Excelの基本操作」に含まれるアクションのみとなっております。
今回も基本的には「Excelの基本操作」内のアクションを選択して設定していきます。
まず始めに、「単一のセル取得」から、「複数のセル取得」への変更を行います。
下図参考に「複数のセルの取得」アクションをドラッグ&ドロップを行い、前回設定した「1つのセルを取得」は削除してください。

単一セルから複数セル取得へ変更①

続いて、「複数のセルを取得」のプロパティを設定していきます。
取得するセルの範囲はD3からF5と入力していただき、取得した値の代入先は新規で作成する必要があります。
下図参考に「値を変数に代入(オプション)」の「(x)変数を作成」をクリックしてください。

単一セルから複数セル取得へ変更②

下図のようなダイアログが起動しますので、名前を決めてから「作成して選択」を押下してください。
今回のようなケースは代入する値が範囲という前提となるため、タイプは「テーブル」で固定されています。

データテーブル作成

下図のように代入先が反映すればOKです。右上の「保存」を押下してください。

単一セルから複数セル取得へ変更③

一連の操作で行ったことは図解すると以下のようになります。
セルの範囲を「range」と名付けたデータ テーブル(変数 テーブル型)に代入する設定となります。

作成シナリオのイメージ

・転記処理(セルの設定)の変更

次は転記処理(セルの設定)の修正を行います。
利用するアクションは同じものとなるため、プロパティの設定のみ変更します。
注意すべき点は、設定する値が「変数(文字列型)」から「変数(テーブル型)、データ テーブル」に変更となったことです。
今回設定するアドレスはA1という単一セルに設定しているため、データ テーブルをそのまま転記することはできません。
データ テーブルから特定のセルの値を取得して設定するよう変更する必要があります。

転記処理の修正①

設定する値の「(x)値を挿入」をクリックすると以下のダイアログが起動します。
この画面にてデータ テーブルのどの値を挿入するか決める必要があります。

データテーブルの指定方法

実際に今回取得したrangeのデータ構造は下図のようになっています。
前回と同じように”D3セル”という文字列をセットしたい場合は、range[0][0]と指定する必要があるため、
上図のダイアログとテーブル行インデックスとテーブル列インデックスの各々の値は”0″と設定すればOKです。
余談ですが、このような仕組みはプログラミング言語では、配列(二次元配列)と言われており、
ExcelやGoogle スプレッドシートのデータを扱う際には必ず出てきます。

具体的なデータテーブル取得方法イメージ

B.xlsxのA1セルにrange[0][0]に格納されている、”D3セル”という文字列が入ればOKとなります。

転記処理の修正②

・実行結果

シナリオの設定が一通り終わった段階で保存を行い、シナリオを実行してみましょう。
意図通り、A1セルに”D3セル”という文字列が入ります。

実行結果

まとめ

今回はファイル間転記処置の中で一括で複数の値を扱うことが可能なデータ テーブルを解説しました。
実際の業務でも単一のセルの値よりも複数のセルの値を扱う機会の方が多いのではないでしょうか。
次回以降もデータ テーブルの様々な利用シーンについては解説してきます。

Apachan

約10年間の代理店営業を経験した後にITに興味を持ちプログラミングを習得。営業で培ったコミュニケーション力を活かしつつ...業務現場からボトルネックとなる問題点を発見して、ITを活用した改善に日々取り組み中。
RPAに限らず、SaaSやGAS, VBA活用など環境にあった改善を心がけています。個人的にGASが好きです。
お気軽にご相談ください。

関連記事