BizRobo! ver.11で変わったところ – 組み込みExcelドライバー

BizRobo!

ver.11になって大きく変わったところは、なんといってもDesktop Automationではないでしょうか。これまでロボットファイルの中の1ステップだったDesktop Automationステップを、それぞれ独立したDesktop Automationロボットとして作成することになりました。
ver.11で大きく変貌したDesktop Automationについて、ここでは「組み込みExcelドライバー」に関する変更点を紹介します。
※このページの内容はBizRobo! Design Studio 11.1.0.4で確認しています。

組み込みExcelドライバーとは

組み込みExcelドライバーとは、パソコンにインストールしたMicrosoft ExcelをAPIを使って操作するドライバーのことです。

BizRobo!でExcelファイルを扱う方法としては下記3つの方法が一般的です。
(1)RoboServer側で、Apache POI エンジンを使う方法
(2)RoboServer側で、組み込みExcelドライバーを使う方法
(3)DAデバイス側で、Microsoft Excelウィンドウを開いてGUIを使って操作する方法

(1)の方法は、BizRobo!の初期バージョンから実装されている機能で、Excelファイルを入出力媒体として使用する際に、手軽に使える方法です。(1)の方法はBizRobo!ユーザーには広く使われている馴染みの方法と言えます。
ただし、「Apache POI エンジンが対応していない関数が使用されているExcelファイルについては、セルの値を参照することはできても、セルの値を更新することができない。」という欠点があります。

関数「DCOUNT」を使用しているExcelファイルで、値を設定するステップを実行したときの例

これに対して(2)の方法では、パソコンにインストールしたMicrosoft Excelを使うので(1)のような制約はありません。
なお、(2)の機能はver.10.4で実装されたもので、これまでは機能が限定的(BizRobo!から使えるAPIの種類が限定的)でした。
このため、(2)の方法を使うのを躊躇するユーザーもいましたが、ver.11.1になって多くの機能が追加になりましたので、使う場面が増えるだろうと思われます。

組み込みExcelドライバーを使ったアクションは、ver.10.4ではDesktop Automationステップの中で、ver.11.1ではDesktop Automationロボットの中で使います。

作成するロボット

ver.10.4とver.11.1で下記2つのロボットを作って、違いを比較することにします。
例1)Excelファイルを新規作成して、名前を付けて保存する。
例2)既存ファイルを開いてセル値を取得する。

1-1 新規Excelファイル作成(ver.10.4)

Desktop Automationステップが1つの単純なロボット
Excelファイルを新規作成して、名前を付けて保存するフロー例

各ステップの作成手順を以下に示します。

(1)URLを「excel://new」にして「Openステップ」を追加します。

追加したステップを実行すると、レコーダービューに組み込みExcelのウィンドウが表示します。

新規作成の場合の組み込みExcelウィンドウ

(2)組み込みExcelのウィンドウのツールバーにある[名前を付けて保存]ボタンをクリックする「Clickステップ」を追加します。

ツールバーにある[名前を付けて保存]ボタンをクリックするステップの追加

追加したステップを実行すると、[Save As]ダイアログボックスが表示します。

追加したステップを実行

(3)[Save As]ダイアログボックスの[File name]にファイルパスを入力する「Input Textステップ」を追加します。

[Save As]ダイアログボックスの[File name]にファイルパスを入力するステップの追加
ファイルパスを「C:\RPAwork\新規作成.xlsx」にする例

(4)[Save As]ダイアログボックスの[Save]ボタンの「Clickステップ」を追加します。

[Save As]ダイアログボックスの[Save As]ボタンをクリックするステップの追加

(5)組み込みExcelウィンドウの[閉じる]ボタンの「Clickステップ」を追加します。

組み込みExcelウィンドウの[閉じる]ボタンをクリックするステップの追加

1-2 新規Excelファイル作成(ver.11.1)

Desktop Automationステップが1つの単純なロボット
Excelファイルを新規作成して、名前を付けて保存するフロー例

変更になったステップについて紹介します。
ver.10.4では「Openステップ」を使ってExcelを開く必要があり、どのステップを使うのだったか戸惑うこともあったのですが、ver.11.1では「Excelステップ」が新設され、Excelならこのステップを使えばいい、ということが簡単に分かるようになりました。
アクションに「ファイルを作成」を選択して「Excelステップ」を追加します。

それ以外のステップについては、ver.10.4と同じ操作で処理ステップを作成することができます。

2-1 既存Excelファイル参照(ver.10.4)

Desktop Automationステップが1つの単純なロボット
既存のExcelファイルを開いてセル値を参照するフロー例

各ステップの作成手順を以下に示します。

(1)URLを「excel://C:/RPAwork/既存参照.xlsx」にして「Openステップ」を追加します。

既存Excelファイルを開くステップの追加

(2)セル[T1]をクリックする「Clickステップ」を追加します。

ver.10.4では組み込みExcelウィンドウに表示する領域の初期値が45行✖20列(T列)です。この範囲の領域にないセルを参照する場合には、行スクロールや列スクロールが必要です。今回は[T1]をクリックした後、右矢印キーを6回押して[Z1]にカーソルを移動します。

[T1]セルをクリックするステップの追加

(3)「→」キーを6回押す「Key Pressステップ」を追加します。

「Key Pressステップ」の追加
Keyを[Right Arrow]、Countを6に変更

(4)[Z1]セルから値を抽出するステップを追加します。

「値を抽出ステップ」の追加

2-2 既存Excelファイル参照(ver.11.1)

Desktop Automationステップが1つの単純なロボット
既存のExcelファイルを開いてセル値を参照するフロー例

変更になったステップについて紹介します。
ver.10.4では「Openステップ」を使ってExcelを開きましたが、ver.11.1では「Excelステップ」を使います。
アクションに「ファイルを開く」を選択して「Excelステップ」を追加します。
また、v11.1では組み込みExcelウィンドウに表示する領域の初期値を任意に設定できるようになっています。
以下の例では、列数を52に設定しています。

Excelファイルを開くステップで領域を設定しておくことで、列スクロール操作は不要になりました。
[Z1]セルから値を取得方法は、ver.10.4と同様です。

使いやすくなった点がもう一つあります。ワークシートのパスを指定する場合に、区切り文字として「\」が使えるようになりました。10.4では「replaceAll(ファイルパス,”\\\\”,”/”)」のように「/」に置換しなければならなかったので、随分使い易くなりました。

ファイルパスの区切り文字として「\」が使えるようになっている

まとめ

組み込みExcelドライバーを使うときの取っ掛かりとして、Excelを開く方法について紹介しました。ver.10.4では「Openステップ」を使ってExcelを開く必要があり、どのステップを使うのだったか戸惑うこともあったのですが、ver.11.1では「Excelステップ」が新設され、Excelならこのステップを使えばいい、ということが簡単に分かるようになりました。
Excelを扱う3つの方法、用途に合わせてうまく使い分けていけるようになるといいですね。