6
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

【UiPath】Excelアクティビティとワークブックアクティビティの違い+データテーブル

2系統あるUiPathのExcel系アクティビティ

UiPathでは、Excelファイルの操作に「Excel」系のアクティビティと「ワークブック」系の2種類あるのをご存じですか?目につく方は「Excel」系のアクティビティで、これはApp Integration (UIではアプリの連携、ヘルプではアプリケーションとの連携、と訳されている)に分類されています。35個のアクティビティ (うち8個がテーブル関係、8個が処理関係)が登録されています。

image.png

一方、System (システム)系のアクティビティの中にも、同じようにExcelワークブックを読み書きできる「ワークブック」系アクティビティが存在します。

image.png

これらは何が違うか、一見わからないところがありますね。

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

Excel アクティビティとワークブックアクティビティの比較

About the Excel Activities Pack』を見てみると、以下のように書いてあります。

Microsoft Excel が PC にインストールされていない場合でも、「システム」の中で分類されたアクティビティを実行することができますが、「アプリケーションとの連携」の中のアクティビティは、アクティビティを実行する PC にアプリケーションが必要です。

つまり、Excel系アクティビティはデバイスにインストールされているExcelと連携して作業が自動化され、ワークブック系アクティビティはUiPathのロボットだけでExcelがなくても作業を自動化できてしまうんです。これはとてもうれしいですね!なぜなら、実行するデバイスが多い場合 (特にRPA専用マシン=Unattended、の場合)に、デバイスの数だけOfficeのライセンスを買い足さなくてもよいからです。デバイスの数が10、50と増えたときにだいぶコスト感が違います。

加えて、最近はExcelをOffice 365ライセンスの中で導入するケースが増えていると思いますが、その場合、Unattendedだとライセンスが問題になります。Office 365はユーザーライセンスのため、ユーザーがログインしている間に使うAttendedのシナリオはOKですが、ロボット専用マシンを作って使うことは想定していません。(マイクロソフトにUnattendedでの使い方を問い合わせるとグレーゾーンだと回答が来ます) したがって、Unattendedで使うには旧来のオンプレミスOfficeのデバイスライセンスを使う必要があります

Excel アクティビティの特徴

Excel系アクティビティは、やはり何といっても様々な操作を安定的に自動化できることが特徴でしょう。Officeのライセンスに問題がないのであれば、やはりこれを使うのが無難でしょう。

Excel系アクティビティを使うには、「Excelアプリケーションスコープ」というコンテナーアクティビティを使い、他のアクティビティは必ずこれの中に配置するようにします。Excelアプリケーションスコープでは、開くExcelファイル (.xlsx、.xls、.xlsm)を指定して、スコープ中はずっとこのファイルを操作します。

image.png

また、公式ドキュメントには以下の記載があります。大きなExcelファイルを扱うときは、やはりオフィシャルなアプリケーションを使ったほうが確実なようです。

多数の行と列をまたがる大規模なスプレッドシートの場合は、「 アプリケーションとの連携 」の中で分類されたアクティビティを使用することをお勧めします。

ワークブックアクティビティの特徴

ワークブック系のアクティビティは、それぞれのアクティビティ毎にExcelファイル名を指定する仕組みになっており、アクティビティ毎にファイルの開閉を行うことになります。Officeアプリケーションがインストールされていなくても、基本的なファイル操作は一通り行うことが可能です。

image.png

データテーブル アクティビティもあるよ

UiPathには「データテーブル (DataTable)」系のアクティビティも用意されています。.NET Frameworkと互換性がある仕組みを利用しているUiPathでは、.NET Frameworkで使える DataTableクラス (System.Data.DataTable)をRPA内で利用できます 。DataTableクラスは、ざっくり言うと2次元配列の変数です。この変数に対していろいろな操作を行うためのアクションが提供されています。Excelファイルとも連携できます。
image.png

最後に

いかがでしたでしょうか。UiPathでいろいろな方法でExcelファイルを扱えるので、試してみてください。

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
6
Help us understand the problem. What are the problem?