はじめに
普段当たり前に使っている機能を「BizRobo! では使えない」と思い込んでることって、結構あります。
そんな例の一つとして、今回は Buit-in-Excel
(以降、組み込みExcel
)機能を使った BizRobo!での CSV 操作術を紹介します。
本記事は、BizRobo! v11.3.0.2 の利用を前提に解説します。
組み込みExcel
による CSV 操作のプロコン1
多くの場合、BizRobo! での CSV 操作には Basic Engine Robot
のCSV読込機能(View as CSV)が利用されます。
この方法は非常に手軽なので、入門者が割と早い段階で利用し始める機能だと思いますが、それゆえに「同じことを他の方法で試そうと思わない。」という側面もあるのかなと思います。
BizRobo! に限った話ではないですが、広い範囲のユーザーや用途をカバーしているツールは通常、一つのことを実現するためにも複数のやり方を用意していたりします。
手軽さと機能性のトレードオフだったり、対象範囲や用途の違いだったりするのですが、ある程度使ってみないとその違いは分かりにくいものだとも思います。
今回は CSV 操作の別解として 組み込みExcel
を使ったそれを見ていきますが、まずはやり方によって何がどう違うのか、組み込みExcel
のプロコン( /
)も含めて見てみましょう。
機能 | 評価 |
組み込みExcel (可否:〇/×) |
DA で Excel (可否:〇/×) |
CSV読込機能 (可否:〇/×) |
---|---|---|---|---|
CSV読込 |
![]() |
〇 | 〇 | 〇 |
CSV編集 |
![]() |
〇 | 〇 | × |
CSV保存 |
![]() |
〇 | 〇 | × |
検索 |
![]() |
〇 | 〇 | × |
サーバで実行 |
![]() |
〇 | × | 〇 |
端末で実行 |
![]() |
〇 | 〇 | × |
端末でバックグラウンド実行 |
![]() |
〇2 | × | × |
バージョン安定性 |
![]() |
〇 | ×3 | 〇 |
xlsx保存 | _![]() |
×4 | 〇 | × |
文字コード指定 | _![]() |
×5 | 〇 | 〇 |
自動データ変換 | _![]() |
〇6 | 〇 | × |
基本的に 組み込みExcel
はその名前の通り Excel なのですが、Excel のAPIを通じて BizRobo! の内部にUIを表現しています。それゆえに機能性のポテンシャルは Excel と同等ですが、インターフェイスとして実装されていないものについては利用することができません。
一方で Excel 自体を操作するのと異なり、バージョンによる UI の違いからロボットがエラーを出すとか、環境によりレイアウトや操作性が異なるといったリスクを排除し、安定した動作を期待することができます。
組み込みExcel
を使った CSV の操作方法
さて、実際に使ってみましょう。
と言っても特別なことは何もなく、「Excel」ステップの ワークシートのパス
に、CSVファイルのファイルパスを指定して実行するだけです。
読みこんでいるのは CSV ファイルですが、動いているのは 組み込みExcel
のプログラム上なので、読みこまれたセルに対して以下のような(データを"テーブル"形式に変換) Excel の命令を実行することができます。
またセルに対するのと同様に、Design Studio 内に表示されているタブから「アプリケーション」レベルの命令も実行することができます。
以下のようにキーワードを指定してファイル中を検索し、特定のセル位置にジャンプすることもできます。
その他、上のマトリックスにまとめた通りですが、CSVファイルの編集や書き出しなども Excel に対するのと同じ感覚で実施できるので、「制約」はあるものの、CSVに対する操作の幅を大きく広げてくれる方法かなと思います。
2023-06-21 追記 【教えていただきありがとうございました!】
UTF-8
のCSVでも BOM付きのUTF-8
であれば Shift_JIS
と同様に Excel 及び Built-in-Excel で文字化けせずに読みこむことができました。
まとめ
とりあえず、試してみるとできるものです。
-
Pros & Cons ↩
-
DAS を通じて端末側のExcelを使いながら、画面表示せず Excel をバックグラウンドで実行することが可能。(v11.3より可能) ↩
-
CSVファイルを読み込む Excel アプリケーションや、実行する OS のバージョンの違い、ディスプレイの解像度などにより画面の認識精度に違いが生じる場合がある。 ↩
-
CSV を読みこんだ場合、同じく CSV ファイルとして上書き保存したり、別名で保存することはできますが、ファイル形式を変更して保存しなおすことは、v11.3 時点ではできません。 ↩
-
オリジナルCSVファイルのエンコーディングでデータが読み込まれますが、Excelの場合 Shift_JIS で内部処理されているためか、UTF-8形式(BOM無し) の CSVは文字化けします。ネイティブの Excel であっても、CSVファイルを直接開いた場合には同じ現象になるため、
データの取得
機能を使って文字コード指定をしたうえで読み込む必要があります。(そして組み込みExcel
には、まだその機能が実装されていません。) ↩ -
悪名高い、「勝手に "001"(文字列)を "1"(数値)に変換してしまう。余計なことしやがって!」というやつです。 ↩