今回はRPAの主な用途の1つであるシステム間のファイル連携についてご紹介します。
WinAutomationではよく使われる次の6種類のファイルを簡単に扱うことができます。
(それ以外のファイルでも扱うことができないわけではありません)
- テキストファイル(*.txt)
- CSVファイル(*.csv)
- エクセルファイル(*.xls/*.xlsx)
- XMLファイル(*.xml)
- PDFファイル(*.pdf)
- JSONファイル(.json)
ここで言う「扱う」とはファイルの内容を読み込む、書き込むことができるということです。
(ただしPDFファイルの書き込みはできません)
1. テキストファイル(*.txt)
テキストファイルの読み込みはFilesカテゴリの「Read text from File」アクションを使います。
ファイルのエンコードを指定できます。
読み込んだ内容を1つのテキスト変数、または1行1アイテムのListのいずれかの形式で取得できます。
テキストファイルの書き込みは同じくFilesカテゴリの「Write Text to File」アクションです。
こちらもエンコードを指定可能で、内容を追記するか上書きするかを選択できます。
ファイルの内容を加工する場合は主に「Text Actions」カテゴリのアクションを使うことになるでしょう。
2. CSVファイル(*.csv)
CSVファイルの読み込み・書き込みもFilesカテゴリの「Read from CSV File」「Write to CSV File」アクションを使います。
ファイルのエンコードを指定できるのはテキストファイルと同様です。
CSV(Comma Separated Value)ですが区切り文字としてカンマ以外(タブ、セミコロンなど)を指定することもできます。
「Read from CSV File」アクションでCSVファイルを読み込む場合、DataRow型の変数で取得することになります。
「Write to CSV File」アクションでCSVファイルに書き込む場合、書き込む内容はDataRow型の変数を指定します。
すでにファイルが存在する場合に追記するか上書きするかを選択できるのはテキストファイルと同様です。
CSVファイルも内容はテキストなので、加工する場合は「Text Actions」カテゴリのアクションを使います。
3. エクセルファイル(*.xls/*.xlsx)
エクセルファイルを扱う場合は「Excel」カテゴリが用意されており、この中にある豊富なアクションを使うことができます。
エクセルファイルの読み込み・書き込みは「Read from Excel Worksheet」「Write to Excel Worksheet」アクションが基本ですね。
エクセルを扱う場合は「Read from Excel Worksheet」アクションで取得できるExcelData型に対して処理を行います。
「Excel」カテゴリには「Run Excel Macro」というアクションがあります。
名前の通りエクセルマクロを実行するアクションです。
このアクションのおかげでVBAとRPAの使い分けをうまく行うことができます。
他にも多数の便利なアクションがあるので一度は一通り目を通すと良いでしょう。
4. XMLファイル(*.xml)
XMLファイルはシステムの設定ファイルとして使用することが多く、日常的な業務ではあまり見ないかもしれません。
ですがXMLファイルにも専用の「XML Actions」カテゴリが用意されています。
XMLファイルの読み込み・書き込みは「Read XML from File」「Write XML to File」アクションです。
「Read XML from File」アクションでXMLDocument型の変数を取得できます。
XMLの加工や書き込みはこのXMLDocument型の変数に対して行います。
特徴的なものとして「Execute XPath Expression」アクションがあります。
複雑な構造のXMLに対して特定の要素を取得する際には非常に有効です。
5. PDFファイル(*.pdf)
PDFファイルの扱いについても専用の「PDF Actions」カテゴリが用意されています。
PDFファイルの読み込みは大きく分けて画像の読み込みとテキストの読み込みの2種類あります。
画像の読み込みは「Extract Images From PDF」アクションを使います。
テキストの読み込みは「Extract Text From PDF」「Extract Text From PDF With OCR」アクションです。
PDFファイルは必ずしも文字情報をテキストとして取得できるとは限らないため、その場合はOCR機能を使うことになります。
PDFファイルの書き込みは行うことができません。
また他にPDFファイルの特定ページを抽出する「Extract PDF Pages to New PDF」アクション、PDFファイルを結合する「Merge PDF Files」アクションがあります。
6. JSONファイル(.json)
JSONファイルを扱うカテゴリは用意されていませんが、実はJSONファイルも簡単に処理できます。
「Variables Actions」カテゴリに「Convert Json To Custom Object」「Convert Custom Object To Json」というアクションがあります。
これは名前の通りJSON、Custom Object間を変換することができます。
JSONファイルはフォーマットが特殊なだけで単なるテキストファイルです。
そのためJSONファイルの読み書きは「Read Text from File」「Write to Text File」アクションで行います。
ただテキスト読み取った内容をCustom Objectとして扱うことができ、またCustom ObjectをJSON形式のテキストに変換することでテキストファイルとして書き込むことができます。
このようにWinAutomationでファイルの読み書きが簡単にできるということは、システム間のファイル(=データ)のやり取りを簡単に自動化できるということです。
システム間連携でも積極的にWinAutomationを使っていきましょう!