【Automation Anywhere A2019】日本向けに役に立ちそうなBot Storeアイテム4選

2020年6月にAutomation Anywhereのロボットマーケットプレース[「Bot Store」が日本語になりました！ ](https://rpasouken.com/topic/news/3162/) 同時に、日本市場対応のA2019用ボットがいくつか公開されたようなので、これらを実際に使ってみたいと思います。

https://botstore.automationanywhere.com/jp

* [**郵便番号/住所変換Bot**](https://botstore.automationanywhere.com/jp/bot/a2019-japanese-postcode-converter/): 郵便番号を住所に変換、住所を郵便番号に変換、入力したデータの整合性をチェックする
* [**文字コード変換パッケージ**](https://botstore.automationanywhere.com/jp/bot/a2019-characode-converter-package/): テキストファイルの文字コードを変換（Shift-JIS/EUC-JP/UTF-8に対応）
* [**日本語文字列パッケージ**](https://botstore.automationanywhere.com/jp/bot/string-japanese-icu4j/): (半角/全角、ひらがな/カタカナ変換等)、全角と半角の変換、カタカナ／ひらがな／ローマ字の変換、文字列形式を統一する変換など
* [**日時変換パッケージ**](https://botstore.automationanywhere.com/jp/bot/a2019-datetime-japan/): 日時や和暦に関連する変換、休日情報取得など

# 1. A2019-日本語郵便番号変換
日本の郵便番号から住所、住所の一部から郵便番号を検索できるボットです。
インストールしてみると、ボットのプライベートスペースに `Bot Store > Japanese Postcode Converter`というフォルダーが作成され、5つのタスクボットと1つのCSVファイルが格納されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490819/71517669-17cd-957b-d3f1-ef12d07496ef.png)

サブルーチンのような形で呼べるのは以下の3つのタスクボットです。

|ボット名|引数/結果|説明|
|:--|:--|:--|
|Japanese Postcode Converter by api|<ul><li>sInputValue=郵便番号</li><li>dConverterResults{"sOutputValue"}=結果が入るディクショナリ型(最初に一致したものを返す)</li></ul>|API (`https://zipcloud.ibsnet.co.jp`)を利用して郵便番号から住所の結果を得ます。|
|Japanese Postcode Converter by csv|<ul><li>sInputValue=郵便番号 or 住所の一部</li><li>sSearchType="postcode" or "address"</li><li>dConverterResults{"sOutputValue"}=結果が入るディクショナリ型(最初に一致したものを返す)</li></ul>|同じフォルダにあるCSVファイルを変換テーブルとして郵便番号または住所の一部から対になる住所または郵便番号の中で最初に一致した結果を返します。|
|Converter for postal code with hyphen|<ul><li>sInputValue=郵便番号</li><li>dConverterResults{"sOutputValue"}=結果が入るディクショナリ型</li></ul>|5/7桁の数字文字列をハイフン付きの書式で返します。|

`Japanese Postcode Converter DEMO`というボットを起動すると、これら3つのボットのテストを行うことができます。サンプルデータとして以下の入力を行って、以下の結果を得ます。

↓CSVによる検索（住所→郵便番号）   Search by CSV (address → postcode)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490819/6b8092c9-f63f-2509-81e3-a9096d41f376.png)

↓CSVによる検索（郵便番号→住所）   Search by CSV (postcode→address)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490819/3eb53c07-c9a5-9fc0-e03f-a0320ebc4c53.png)

↓APIによる検索（郵便番号→住所）   Search by API(postcode→address)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490819/ebf549af-2b78-5cb1-7e97-2f0a0a70b0c7.png)

↓郵便番号にハイフンをつける処理 7桁（Hyphenation process for postcode）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490819/5cf53296-6eed-b790-0e30-bd1e316238f1.png)

↓郵便番号にハイフンをつける処理 5桁（Hyphenation process for postcode）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490819/bdf3ed9f-f7ad-ac35-59d6-30d4ba6f638c.png)


`Japanese Postcode Converter by csv`をコールするアクション↓
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490819/694a0782-3383-309e-82fb-bbbf60438c78.png)

複数候補一致の場合は最初の候補を返すという単純な動作になっています。郵便番号変換はいろいろなところで使えるので、活用範囲が広いですね(^_-)-☆


# 2. A2019-CharaCodeコンバーターパッケージ
テキストファイルの文字コードをShift-JIS/EUC-JP/UTF-8の間で変換できるパッケージとサンプルボットがついています。パッケージとして[CharCode Converter]-[文字コード変換]が追加され、ボットのプライベートスペースに `Bot Store > A2019_Charcode_Converter`というフォルダーの中にサンプルボットが格納されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490819/0614d5c0-6a5b-4555-fe25-c3142958ca93.png)
アクションの詳細では変換前のテキストファイル名とエンコード、変換後のテキストファイル名とエンコードを指定します。

# 3. A2019-文字列-日本語ICU4J
日本語文字の相互変換や正規化を行うユーティリティパッケージです。パッケージは6つのアクションを提供します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490819/d624e2ad-5182-eeba-e251-77885672020a.png)

それぞれのアクションの詳細は以下の通りです。基本的には返還対象文字列と出力先の文字列変数を与えます。ICU4JというJava日本語ライブラリのロジックを使っているようです。また、正規化は[Unicode正規化](https://ja.wikipedia.org/wiki/Unicode%E6%AD%A3%E8%A6%8F%E5%8C%96)ルールに従って変換するようです。①, ②, ③のような文字列、㈲㈹㍾㍽㍼㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡のような合成文字の取り出しも行われます。OCRで読んだ文字などはこういう文字になってしまうこともあるので、そういう場面で使われる可能性もあります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490819/f24e858a-38c2-801d-05c5-d9363875aad4.png)


# 4. A2019-日時（日本）
日本市場における日付関係のユーティリティパッケージとサンプルボットがついています。パッケージは6つのアクションを提供します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490819/5438d96e-f604-6cfa-72e0-c340cf5e3da5.png)

最初の2つのアクションの詳細は以下の通りとなっています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490819/b9117d13-cae5-c4b1-2274-3de7c2ae9078.png)

日時の定型フォーマットとして選べる書式は西暦、和暦の多種多彩なものがあります。元年対応のフォーマットもありますね(^_-)-☆
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490819/6527ad42-ca5f-359b-8d2e-4fd4b32c7e03.png)

次の2つのアクションの詳細は以下の通りです。シリアル値はExcelをハンドルしていてセルの値自体を読んだときに時々出てくるシナリオです。また、土日祝休日を避けた日付を取得したいときもありますよね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490819/735794e5-2635-52fe-d14b-a56ef771cede.png)

最後の2つのアクションの詳細は以下の通りです。祝休日の名前や休日・祝日判定が行えます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490819/8c3753c5-0fb7-ad35-efd8-f935111fd1f4.png)