【Automation Anywhere A2019】 3種類のExcelパッケージの違い+Data Table

#A2019で一気に数が増えたExcel系アクション
Automation Anywhere A2019では、Excel系のパッケージ (アクションを系統でひとかたまりにまとめたもの) が増えました。左側のアクションパレットで「Excel」と検索してみると、3つのパッケージが出てきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/f5b38aff-dc01-ae07-efac-37dca24a8bf9.png)

中にはたくさんのアクションが含まれていることがわかります。v11のときと比べると、以下の通りになっています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/d3b3b1da-7616-e428-64e0-b4556cdb8d05.png)

v11では10個だったアクションがA2019では**一気に104 (基本=11、高度=48、Office 365=45)と10倍**になりました...インフレ感がハンパないですね！いままでよりもきめ細かい動作が標準コマンドでできるようになった (v11ではショートカットやMeta Botの追加アクションに頼るところがあった)のはいいことですが、中身を見てみると同じようなアクションがそれぞれのパッケージにあったりと、どう使い分けていいのか一見わからないところがありますね。「うちではOfficeクライアントはOffice 365 ProPlusなんだけど、Office 365 Excelを使うべき？」とか。

それぞれのパッケージについて、公式ドキュメントがありますので、使い方を整理してみることにしましょう。

* [Excelの基本操作 (Excel Basic)](https://docs.automationanywhere.com/bundle/enterprise-v2019/page/enterprise-cloud/topics/aae-client/bot-creator/commands/cloud-excel-action.html?_LANG=jpjp)
* [Excelの高度な操作 (Excel Advanced)](https://docs.automationanywhere.com/bundle/enterprise-v2019/page/enterprise-cloud/topics/aae-client/bot-creator/commands/cloud-excel-command.html?_LANG=jpjp)
* [Office 365 Excel](https://docs.automationanywhere.com/bundle/enterprise-v2019/page/enterprise-cloud/topics/aae-client/bot-creator/commands/cloud-office-365-excel-package.html?_LANG=jpjp)

### 利用環境
Automation Anywhere A2019 Community Edition ビルド1598


# Excel の基本操作パッケージ
アクションの数としては、これがv11のものに対応するかと思いがちですが、ドキュメントの中には以下の記載があります。
>これらのアクションは、Excel 関連のタスクを自動化するために使用するデバイスで、Microsoft Excel が利用できない場合に使用します。

つまり、**ロボットの実行デバイスにExcelを入れなくても、Automation Anywhereのロボットのみで操作が実行できてしまいます。**これはとてもうれしいですね！なぜなら、実行するデバイスが多い場合 (特にRPA専用マシン=Unattended、の場合)に、**デバイスの数だけOfficeのライセンスを買い足さなくてもよい**からです。デバイスの数が10、50と増えたときにだいぶコスト感が違います。加えて、最近はExcelをOffice 365ライセンスの中で導入するケースが増えていると思いますが、その場合、Unattendedだとライセンスが問題になります。Office 365はユーザーライセンスのため、ユーザーがログインしている間に使うAttendedのシナリオはOKですが、ロボット専用マシンを作って使うことは想定していません。(マイクロソフトにUnattendedでの使い方を問い合わせるとグレーゾーンだと回答が来ます) したがって、**Unattendedで使うには旧来のオンプレミスOfficeのデバイスライセンスを使う必要**があります。

また、「開く」アクションの詳細やファイル選択画面を見てみると、**.xlsxファイルのみ指定できる**ことがわかります。つまりオープンになっている.xlsxファイル (マクロ無し)のみ使えるということです。また、ファイルを開く場所はサーバー (Control Room)でもよくなりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/52652685-e023-65df-aae8-19c7153d1922.png)


# Excel の高度な操作パッケージ
こちらが、ExcelクライアントとAutomation Anywhereのロボットが連携してタスクを実行していくためのアクションです。これがv11のアクションの後継になります。v11では標準でできなかった「セルの色を取得」や「テーブルの操作」とかシートへの操作など、情報取得系や操作系が中心ですが、ショートカットやExcelマクロに頼らなくてもかなり多くのことができるようになりました。「開く」アクションの詳細やファイル選択画面を見てみると、**.xlsxファイルに加えて.xls、.xlsm、.csvなど、Excelクライアントが読み込める様々なファイル形式も扱えます**。公式ドキュメントには他にもいくつかファイル形式の記載があります。
>Microsoft Office 2000 から Microsoft Office 2016、ならびに .xlsx、.xlsx、.xlam、.xltm、.xltx、.xlsm 形式に対応しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/67e50229-9473-a5b1-e7e9-36be45bdc302.png)

Excelがインストールされている環境では、「Excelの高度な操作」パッケージを標準として使うのがお勧めです。また、「Excelの基本操作」パッケージとは、同じ位置づけのアクションでも動作が異なることがあります。(「セルを取得」アクションの結果など。) 詳しくは『[【Automation Anywhere A2019】Excelの基本操作/高度な操作でセルを取得したときの値の違いに注意](https://qiita.com/RPAbot/items/71180788baee33db48c3)』を参照ください。

# Office 365 Excel パッケージ
「Office 365 Excel」というのは何かというと、つまりはウェブバージョンのExcel (Excel Online) のことで、ExcelクライアントがなくてもOffice 365にサインインをしてウェブのスプレッドシートに直接アクセスできるようです。Office 365 Authenticationパッケージと併用して、認証を先にしてからアクセスをします。
>The Office 365 Excel package contains actions that enable you to automate tasks in the online version of Microsoft Excel.

# Data Table
A2019では「[データテーブル](https://docs.automationanywhere.com/bundle/enterprise-v2019/page/enterprise-cloud/topics/aae-client/bot-creator/commands/cloud-data-table-command.html?_LANG=jpjp)」というパッケージも新しく使えるようになりました。これは変数型のひとつとして使うことができ、v11でいうArray変数、つまり2次元配列です。この変数に対していろいろな操作を行うためのアクションが提供されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/d0eefab0-4bc9-002f-6af7-0c036f8c2e19.png)
データテーブルはCSV/TXTファイルとの入出力も可能なので、Excel系のアクションと合わせて色々使い方が広がります。

# 最後に
いかがでしたでしょうか。A2019になって一気に広がったExcel系の自動化の世界。いろいろできそうですね！