UiPath(RPA)×Excel。Excelから税務ソフト(JDL勘定科目内訳明細書)へロボットが入力

  • URLをコピーしました!

UiPath(RPAツール)を使えば、Excelデータをより活用することができます。
ロボットが入力してくれるのです。

EX-IT_45

※パワポで作成

効率化の限界は、イケてないソフトにある

効率化には、限界があります。
その限界の1つは、ソフト。
ソフトが使いにくい、データ取り込みができない、センスがよくないなど、イケていないと、効率化はそこでとまってしまうのです。
ソフトが改善されるのは、望み薄ですので、こちらがソフトを変更するか、泣く泣く手作業をするしかありません。

たとえばこういった事例があります。
法人の決算時には、税務申告書に預金をはじめとする残高の明細をつくり、一緒に提出しなければいけません。
税務申告ソフトと同じ会計ソフトを使っていれば、その会計ソフトからデータを連動するのですが、そうではない場合、現状は手入力せざるを得ないのです。
(取り込む方法もありますが、また使いにくく…)

会計ソフトやExcelで預金別の残高のデータを、スッと取り込ませてくれればいいのですが、大人の事情もある(会計ソフトも買ってほしい)ので、そうはいきません。

EX-IT_39

EX-IT_46

データならそれを活用できるのが、効率化の基本ですが、こういったケースでは、手入力が発生するのです。

(Excelや会計ソフトでつくった書類を紙で提出する方法もありますが、その場合は、ネットで税務申告書と一緒に提出できません。郵送しなければいけなくなります。
Web郵便を使う手もありますが、枚数に制限がありますし、手間もかかるのが難点です。
PDFで送ることもできるようになりましたが、一応「ネットで提出できない書類に限る」とのルールが。
むりやりだして電話がかかってくると余計にめんどくさいですし)

 

RPAの可能性は、効率化の限界を突破すること

これまではソフト間の効率化は、敷居が高いものでした。
しかしながら、RPA(Robotic Process Automation。ロボットによる自動化)なら、そのイケてないソフトの穴を埋めることができます。

効率化の限界を突破することもできるのです。

今回使ったRPAツールは、UiPath(ユーアイパス)。
小規模事業者なら無料で使えます。
基本的な使い方はこちらをご覧いただければ。

UiPath×Excel。Excelのデータを入力するしくみ

今回は、Excelのデータを読み取り、それをソフトに入れるしくみをつくります。
EX-IT_39

1 ソフトのしくみを把握

まず、ソフトのしくみを把握します。
JDLの勘定科目内訳書は、[追加]をクリックすると、このようにコードで[種類](科目名)を選ぶモードになります。

EX-IT_16

ここでTabキーを押すと、直接科目名を入力できるようになるので、これで入れることとします。

EX-IT_17

Tabキーをさらに2回押すと、[金融機関名]を入力できるようになります。

EX-IT_18

 

[Tab]
[種類]を入力
[Tab]
[Tab]
[金融機関名]を入力
[Tab]
[口座番号]を入力
[Tab]
[期末現在高]を入力
[Tab]
[Tab]
で1行を入力できます。
こういったソフトごとにくせをまず把握しましょう。

2 UiPathにソフトを認識させる(レコーディング)

UiPathで、どこに入力するかの認識をさせます。
この場合、レコーディング機能が便利です。
メニューの[Recording]→[Desktop]をクリックすると、

EX-IT_10

このようなボックスが表示されます。

EX-IT_11

[Record]をクリックすると、録画モードになるので、

ex105

該当のソフトをクリックし(タイトルあたり)、

ex-it101

[追加]ボタンをクリックします。

ex-it102

 

記録が終わったら、[Save&Exit]を押すと、

ex106

UiPathのプログラム部分に、記録されたプログラムが表示されています。
「ソフトを選択し、[追加]ボタンをクリックする」
が自動されたというわけです。
[実行](F5)してみましょう。

ソフトの入力ができる段階になっていれば成功です。

EX-IT_14

この部分をクリックして、UiPathの右側のPropertiesを見ると、[Input]欄で、「勘定科目内訳書-預貯金等の内訳書(1)」と認識されています。

これで準備完了です。

EX-IT_15

3 サンプルデータ入力のしくみをつくる

次に、サンプルデータをソフトへ入力していきましょう。
まずはサンプルデータを1つ正確に入力できるようにし、そのあとにExcelから読込、繰り返し入力していく流れをつくります。

最初からすべてをつくろうとすると、かえってうまくいきません。

 

UiPathは、左側のActivitiesから機能をドラッグして、プログラミングしていきます。
これがあるので、他のプログラミング言語よりは敷居が低いのです。多少は。

[Tab]
[種類]を入力
[Tab]
[Tab]
[金融機関名]を入力
[Tab]
[口座番号]を入力
[Tab]
[期末現在高]を入力
[Tab]
[Tab]
を表現していきましょう。
やりたいことをロボットに合わせて表現するのがRPAです。
[Tab]は、[Send Hotkey]を使います。

ex-it104

左側のメニューでよく使うものは、右クリックして[Add to Favorites]で、[Favorites](お気に入り)に入れておけば便利です。

EX-IT_20

[Send Hotkey]の[Key]で、を選びます。

EX-IT_19

次は、
・[種類]を入力
です。

入力するには、[Type into]を使い、次のように入れましょう。
“”で囲むのがルールです。
EX-IT_47

””がないと、このようにエラーが出てしまいます。
青い[!]がエラーのしるしですので、これが出たら、修正しましょう。
UiPathが知らない言葉を使うと、「何これ?」とエラーになるのです。

「知らなくていいからそのまま入力してくれれば大丈夫だよ」という意味で””で囲みます。
対人間だと、「そんなこともわからんのか!」と言われることもありますけどね。はじめて聞くことでも。

 

EX-IT_24

・[種類]を入力
・[Tab]
・[Tab]

は、このように表現します。
日本語を入力した後は、[Send Hotkey]で[Enter]を入れておきましょう。
日本語入力を確定する意味です。

なお、「Type Into」という文字は、変更できます。
何が入るかを示すように変えておくと後々見やすくなるのでおすすめです。

EX-IT_21

次に[銀行支店]を入力します。
ソフトの特性上、銀行名と支店名の間には全角スペースがあります。
Excelの銀行名と支店名を読込、UiPathでくっつけることもできますが、Excelで処理しておいたほうがロボットが安定するので、今回は、Excel上で処理しました。

サンプルとして、「みずほ 新宿」と入れます。
「みずほ銀行 新宿支店」と入れたいところですが、文字数制限があるので、銀行名が長いとどっちみち入りません。
そのため「銀行」や「支店」を省いています。

EX-IT_41

次は、口座番号。
通常、Excelマクロでは、数字なら””が必要ありませんが、UiPathでは必要です。
ただ、確定するEnterは必要ないので、Tabのみ入れています。

EX-IT_25

最後に残高を入れます。

EX-IT_26

実行(F5)してみると、このように入力できました。
これがきちんと完成してから、次へすすみます。

EX-IT_27

4 Excelデータのすべてで繰り返すしくみをつくる

Excelデータの2行目から7行目までのすべてを入力するしくみをつくります。
この繰り返しの処理がプログラミングの魅力です。
何万行あったとしても、疲れず正確に文句を言わずやってくれます。

EX-IT_39

さきほどつくったプログラムの上に、[Excel application scope]をドラックしましょう。
さらに、右の[…]をクリックして、Excelファイルを選択します。

ex108

[Read Range]をドラッグしましょう。
左側のボックスにはシート名、右側のボックスにはセル範囲を入れます。
サンプルでは、シート名が「預金」なので、”預金”と入れましょう。
セル範囲は””にしておけば、空白に区切られたすべてのデータを読み込んでくれます。

ex107

この範囲です。
データが増えれば、自動的にその範囲を広げてくれます。
これもプログラミング=ロボットの魅力です。

 

 

 

 

 

 

 

 

 

[Read Range]をクリックし、右のPropertiesで、[Output]の[DataTable]のボックスで、

ex107

Ctrl+Kを押しましょう。
ここでこのExcelデータに名前(変数)をつけることができます。
名前を付けておかないと、UiPathに伝わらないからです。
ここでは、「ExcelTable」とします。

 

EX-IT_05

Enterキーを押し、こうなればOKです。

EX-IT_06

繰り返しの部分は、[For Each Row]をドラッグして使います。
「row」は最初から入っているので、inのあとのボックスに先ほど名付けた「ExcelTable」を入れましょう。

[For Each Row]は、範囲内で、1行ずつ処理をするアクティビティ(命令)です。
2行目の次は、
ex112

3行目、4行目、5行目と読み取ってくれます。

ex113

Body部分には、さきほど2と3でつくった部分をドラッグします。

 

ex109

この部分を繰り返すわけです。

EX-IT_32

そして、肝心の入力は、[種類]を

EX-IT_47

こう変えます。

 

EX-IT_34

「row(” 種類”)」は、見出しが「種類」の列を2行目、3行目・・・と読み取るという意味です。
.ToStringをつけて、文字として扱います。
(ないとエラーが出ます)
見出しの「種類」とプログラム中の「種類」は一致していなければいけません。
こういうのはプログラムの肝です。
だいたいで判断してくれません。

ex110

銀行支店、

EX-IT_42

口座番号、

 

 

 

 

 

 

残高を同じように変えていきます。

 

 

 

 

 

 

これで完成です。
Excelデータを準備すれば、ロボットがその数だけ自動的に入力してくれます。

動画をつくってみました。
キーボードの操作は、UiPathの実行だけで、あとは自動的にデータを入力しているところに注目していただければ。

 

 


【編集後記】
昨日は、AppleStoreで、キートップを替えてもらい、セミナーに参加して、打ち合わせ。
一区切りの話ができ、新企画の話もできました。
早速とりかかります。
全編、音声認識入力で書こうかと(編集はしますが)。

【昨日の1日1新】
※詳細は→「1日1新」

御茶ノ水 RESTAURANT PLATINUM FISH
とあるセミナー
ソラシティカンファレンスルーム

【昨日の娘日記】
保育園に行くときは何か手にもっていっています。
もちこんではいけないので、直前で回収しますが。
昨日は、アドベンチャーワールドのパンダのぬいぐるみでした。
片手で持てるものがお気に入りなので、そのくらいのサイズです。
小っちゃくて1000円だったのがびっくりでしたが。

  • URLをコピーしました!