JDL財産評価ソフトへの入力をExcelマクロとUiPathを連携してやるパターン 

Excelマクロ入門

すでにあるデータを使って、入力を効率化できないか?

今回やってみたのは、ExcelやUiPathを使った事例です。

財産評価ソフトを使うという方は、それほどいらっしゃらないのでしょうが、別のソフトだとしても同じようにできるのでは?と思い、記事にしてみました。

手を動かす回数を減らすには?

最終的に作成したいのは、こういったデータです。

どこかからデータ連携できれば助かりますが、今使っている財産評価ソフトでは、減価償却ソフトからの連携ができません。

連携ができないとなると、入力なり、コピぺなりで対応するという流れになりますが、それはそれで大変です。

ブラウザとデスクトップソフト、Excelといった違うしくみのものでも、UiPathを使うことで連携ができます。

今回の事例は、減価償却資産のデータを先程ご覧いただいた写真の財産評価ソフトに入力するというものです。

スクリーンショット 2020 01 26 12 05 18

これまで前回のデータを削除したり、毎回のデータ数の違いから、数式の追加や削除ということをしていましたので、それなりに手数もかかりました。

今回のものは、減価償却ソフトからCSVデータをダウンロードして、準備してあるシート(JDL減価)に貼り付け。

スクリーンショット 2020 01 25 21 04 14

その後、自動でExcelマクロでUiPath用の入力シート(動産)が生成され、

スクリーンショット 2020 01 26 12 18 39

その後にRPA(UiPath)で、Excelデータを読み取り、自動で入力するというものです。マクロの部分については昨日の記事に書いています。

UiPath(RPA)でJDL財産評価ソフトに入力するための減価償却データを準備するマクロ | GO for IT 〜 税理士 植村 豪 Official Blog

マクロとRPA(UiPath)の連携

UiPathを使って、マクロを動かすことができます。

Excelアプリケーションスコープで、マクロのあるExcelファイルを選択したあと、アクティビティ「マクロを実行」をドラッグして、
スクリーンショット 2020 01 26 12 12 15

マクロのプロシージャ名を「“”(ダブルコーテーション)」でくくって入力します。

スクリーンショット 2020 01 26 12 25 35

これでUiPathでマクロを動かすことができます。

その後、「範囲を読み込み」でシート(動産)を読み込みます。

スクリーンショット 2020 01 26 13 04 14

この読み込んだデータを変数として後で使います。箱に入れておくために次のようなことをやっておきましょう。

まず、「範囲を読み込み」をクリックして変数に名前をつけておきます。プロパティ、データ出力にてCtrl+Kで名前をつけることができます。(ここではdatatableとしました。)

次にその変数を使える範囲を「シーケンス」に変更しておきます。実行だけでなくその外でも使いたいので。

スクリーンショット 2020 01 26 13 07 33

ここまでが、Excelとの連携でやることです。

財産評価ソフトにUiPathで入力

今度は、読み込んだExcelデータを財産評価ソフトに入力していく流れです。

UiPathでプログラミングするときには、じぶんで入力するなら、どう手を動かすのか?を意識しておくことが大事です。

このソフトでは、まず追加ボタンをクリックして、そのあと、「4」を入力し、Tabキーでカーソル移動、次は「1」を入力し、またTabキー2回、名称欄にカーソルを動かしていく流れです。

スクリーンショット 2020 01 26 12 38 19

追加ボタンをクリックして、「4」→「1」という流れ

これをUiPathでもつくってプログラミングしていきます。

レコーディングのボタンをクリックして、デスクトップをクリックします。(今回はデスクトップソフトなので。もし、Web画面ならウェブをクリックします。)

スクリーンショット 2020 01 26 12 44 48

追加ボタンをクリックしてみましょう。

スクリーンショット 2020 01 26 12 55 21

その後、Escをクリックして保存すると、プログラムができています。

スクリーンショット 2020 01 26 12 54 47

これを順番につくっていきます。

基本的には1行目の入力をプログラミングすれば、あとはその繰り返しになります。なので、「繰り返し(各行)」のアクティビティを使い、コレクションは先程の変数「datatable」にします。

スクリーンショット 2020 01 26 13 15 03

その後は、1つずつ進めていくのがおすすめです。レコーディングをしつつ、うまくいかないところは個別に「文字を入力」を使ったり、Tabキーは「ホットキーを押下」のアクティビティを使っていきます。

スクリーンショット 2020 01 26 13 15 21

「4」や「1」というのは数字なのですが、ここでは「“”(ダブルコーテーション)」で囲まないといけません。

スクリーンショット 2020 01 26 13 27 27

ここまでで、カーソルは名称のところに来るはずです。少しずつ動作を確認してみるのがおすすめです。

その昔、一気にレコーディングしていき、どこがおかしいかわからなくなって、すごく後悔した人がいましたので。(私)

名前のところはExcelから読み込んだデータを使います。[row(“名称”).ToString]とします。

スクリーンショット 2020 01 26 13 16 57

名称はExcelでの項目を意味していて、シート「動産」の名称の列を1行ずつ読み取ります。

[row(“名称”).ToString]のあとのtabキー、Enterキーはホットキーを押下で別のアクティビティにすると、なぜかうまく動かず、このようにしています。

スクリーンショット 2020 01 26 13 36 55

これは入力中に表示される変換候補からTabキーで一番上の候補を選び、決定という動きをつくっています。

“[k(tab)][k(Enter)]”という記述はむずかしいのですが、隣の+ボタンから、キーを選択すると、

スクリーンショット 2020 01 26 13 36 30

それに合わせた記述をしてくれます。

スクリーンショット 2020 01 26 13 36 55

その後も同様にカーソルの動きに合わせて、1つずつやっていきます。

スクリーンショット 2020 01 26 13 45 23

元号、年月に
スクリーンショット 2020 01 26 13 51 07

耐用年数といった流れで。

スクリーンショット 2020 01 26 13 54 51

これでExcelを貼り付けした後、自動でやってもらうことができるようになりました。

参考までに動画もつくってみました。

データの貼り付けは省略して、自動のところだけ。

前回の入力用データを削除して、貼り付けたデータから必要なところを書き出して入力しています。

 

動画の時間もあり、データは少なめにしてあります。それでも1分40秒ほどになりましたが。


【編集後記】
昨日は3人の日。南知多ビーチランドに行ってきました。

思いのほか動物との距離が近くてよかったです。

魚に触れるコーナーもあり、ドクターフィッシュも初体験。長男(4)はコート着たまま手を突っ込んでしまい袖がびしょびしょに…。

その後、同じ敷地にあるおもちゃ王国で乗り物や懐かしいゲーム盤などもあり1日楽しみました。

帰りにいるかをみていたらイルカが突然跳ねて、3人とも上から下まで服がびしょ濡れに。ま、これはこれでいい思い出になりそうです。

【昨日の1日1新】
※「1日1新」→詳細はコチラ
長男(4)と南知多ビーチランド
ドクターフィッシュに角質とってもらう
イルカに水かけられる
悪ひげ危機一髪