RPA(UiPath)でExcelから弥生会計へ。入力 or CSVインポート。

RPAツールUiPathで、Excelから弥生会計でデータを入力することができます。
直接入力とCSVインポート、2つの方法を比較してみました。

2018-06-13_10h43_46

※パワポで作成、スクリーンショット

Excelから弥生会計へ

Excelにデータがあれば、会計ソフトに入力しなくてもすみます。

会計ソフトに取り込む(インポート)ことができるからです。
たとえば、弥生会計だと、所定の形式のデータをつくれば、とりこめます。

Excelから弥生会計へのインポートの基本・発展・マクロ | EX-IT

これはこれでは速いのですが、RPAツールを使う、つまりロボットにやってもらうなら、もっと楽です。

もしロボットでやるとするなら、

・同じように、インポートする

に加えて、
・入力してもらう


■スポンサードリンク

という方法があります。

ただ、入力してもらうほうは、おすすめできず、やはりCSVインポートがおすすめです。

両方を比較してみました。

使うRPAツールは、UiPathです。

基本操作はこちらにあります。

UiPath×Excel。Excelデータを読み取り、ブラウザで交通費検索。無料で使えるRPAツール。 | EX-IT

UiPathでExcelから入力

UiPathだと、Excelを見ながら、弥生会計に入力してもらえます。
ヒトがやると大変で、手間がかかり、絶対にやらないことも、やってくれるわけです。

動画を作ってみました。
左側のExcelを見ながら、右側の弥生会計へ入力しています。


しかし、この方法はおすすめしません。
楽とはいえ、データ量が増えると時間もかかりますし、弥生会計のすばらしい仕様に合わせてデータを結構いじらなければいけないからです。

UiPath自動化の前提

本来、こういったデータを取り込めればいいのですが、

2018-06-13_12h13_55

実際に取り込めるのはこのデータです。

2018-06-13_11h05_49

・日付
→「2018/6/30」や「6/30」という形式ではなく、「630」と入力

・借方、貸方科目
→「役員報酬」と日本語で入力するとうまくいかない(現状)。アルファベット(ローマ字)または数値で入力。
弥生会計から科目一覧をエクスポートし、ExcelのVLOOKUP関数で連動。
2018-06-13_07h22_33

・摘要
→空欄である場合とそうでない場合で、カーソルの動きが違う(空欄だとEnterキー1回で次の行へ。そうでないとEnterキー2回。こういうのはロボットで対応できない。やるならすべて埋めるかすべて空欄かに。
また、摘要辞書がある項目は、Enterキー2回で次の行に、ない科目はEnterキー1回。統一するために、すべてに摘要辞書か、摘要辞書を全削除。今回は削除。
2018-06-13_10h27_33

摘要辞書はこういうやつです。

2018-06-13_10h31_32

・補助科目
→補助科目がある科目は、Enterキーを押したときに、カーソルが科目→補助科目→部門と動き、ない科目は、カーソルが科目→部門と動く。これも統一しないとロボットで対応できない。今回は、補助科目なし。

IFで対応できないこともありませんが、以上の理由があることから、Excelから入力はおすすめできません。

条件さえそろえば、次のようにUiPathで自動化はできます。

1 UiPathでExcelからデータを読み取る

[Excel Application Scope]、該当のExcelにアクセスします。
UiPathの場合、開くというより、Scopeという名前通り、アクセスするというイメージです。
Excelを開く必要はなく、Excelを開いていてもいなくても関係ありません。
さらに、ExcelがPCに入っているかも関係ないのです。
(開いているExcelの状態にアクセスするのではなく、あくまで保存済みのExcelにアクセスします)

そのExcelから[Read Range]で、シート名とセルを指定してデータを読み取ります。
プロパティ([Read Range]をクリックすると右側に表示)の[Output]の[Data Table]には、Ctrl+Kを押して、「ExcelTable」(任意)という名前(変数)をつけておきましょう。
この名前でこの後使います。

2018-06-13_11h05_16

このデータは、シート「YayoiE」にあるので、シート名は”YayoiE”(””で囲む)、セルは、””です。
セルを””にすれば、そのシートの全データを読み取ります(整理されていることが条件です)。

2018-06-13_11h05_49

2 弥生会計の仕訳日記帳を開く

次に弥生会計を開きます。
2018-06-13_11h05_26
開く操作をUiPathに覚えてもらうには、Recording→Desktop→StartAppをクリックし、弥生会計自体をクリックするのがおすすめです。

2018-06-13_11h05_41

弥生会計には、さまざまな入力方法があり、その中でも汎用性がある仕訳日記帳を使います。
UiPath、ロボットではキー操作のほうが安定するので、キー操作で仕訳日記帳を開きましょう。

弥生会計は、Alt→C→J(Alt、C、Jと1つずつ押す)で仕訳日記帳が開きます。

それをUiPathで表現するなら、[Type Into]を使って、”[k(alt)]cj”としましょう。
[Send Hot Key]を使う方法もありますが、こちらのほうが楽です。
Altキーは、[k(alt)]と表現します。

2018-06-13_11h05_26

3 Excelから弥生会計に入力

Excelのデータを指定しながら、弥生会計に入力していきます。

1行目は見出しですので、2行目から読み取り、データの数だけ繰り返すように設定しましょう。

2018-06-13_11h05_49

繰り返しには、[For Each Row]を使います。
次のように入力し、繰り返す中身(Body)には、[Type Into](入力する)を入れましょう。

2018-06-13_11h06_18

ここには、弥生会計へ入力するときのキー操作を入れます。
仕訳日記帳を開いたとき、カーソルはここです。
2018-06-13_15h20_44
日付を入力→Enterキー2回→借方科目を入力→Enterキー2回→金額を入力→Enterキー→貸方科目を入力→Enterキー3回(貸方金額は自動入力)→摘要→Enterキー2回で、1行入力できます。

Enterキーの回数にこだわっていたのは、このためです。
パターンが狂うと、正しく入力できません。

日付、借方、貸方などは、このExcelに対応しています。

2018-06-13_11h05_49

row(“日付”).ToStringで、日付列を入れていくということを意味し、Tostringは、データを文字列にするという意味です。

結果、[Type Into]には、こう入力します。

row(“日付”).ToString+”[k(enter)][k(enter)]”+row(“借方”).ToString+”[k(enter)][k(enter)]”+row(“金額”).ToString+”[k(enter)]”+row(“貸方”).ToString+”[k(enter)][k(enter)][k(enter)]”+row(“摘要”).ToString+”[k(enter)][k(enter)]”

長いので、プロパティの[Text]で、「…」をクリックし、ボックスを表示したほうが入力しやすいです。

ex101

そして、1行入力したら、[Delay]で、プロパティで、「00:00:01」と設定しましょう。
ロボットの動きに弥生会計がついてこれないので、1秒待つと安定します。
(秒を操る感覚、ディレイという言葉が好きです。バーチャファイター2でよく使ったので)

2018-06-13_11h06_30

前提条件さえ満たせば、データが何行あっても、ロボットが入力してくれるわけです。
ただ、入力の時間が、それなりにかかるので、次のCSVインポートのほうが好ましいでしょう。

UiPathでExcel→CSV→弥生インポート

UiPathを使って、ExcelをCSVファイルとして保存し、弥生会計へインポートします。
動画だと一瞬です。


「ExcelをCSVファイルとして保存する」のは、Excelマクロでもできます。
UiPathでマクロを動かして、そのあとをUiPathでやる方法もありますが、今回はすべてUiPathでやることにこだわってみました。
ExcelマクロよりもUiPathのほうが敷居が低いからです。

次のような手順で、設定します。

1 Excelを開き、データを読み取る

Excelデータは、弥生会計のインポートルール(A列に「2000」、D列に日付・・・)でつくります。

Excelから弥生会計へのインポートの基本・発展・マクロ | EX-IT

[Excel Application Scope]でファイルにアクセスし、[Read Range]で全データを読み取り、プロパティで[DataTable]に「ExcelTable」と設定しましょう。
(Ctrl+Kで変数として設定)
そして、この場合は、ヘッダー(見出し)がないので(あると弥生インポート時にエラーが出る)、プロパティの[Add Headers]のチェックを外します。

2018-06-13_11h08_50

2 ExcelをCSVへ

読み取ったExcelTableをCSVとして保存します。
Excelデータのままでは弥生会計へインポートできないからです。

CSVにするには、Excelで名前を付けて保存(F12)で、CSVを選ぶという方法があります。
しかしながら、UiPathでやろうとするとうまくいきません。
そこで、[Write CSV]アクティビティを使いました。

上の欄にCSVファイル名を入れ(存在すれば上書き、しなければ新規作成してくれます)、下の欄にExcelデータ名を変数「ExcelTable」で入れます。

2018-06-13_11h08_59

これをインポートすれば、すむはずです。

3 CSVを加工

ところがぎっちょん(って言わないですね・・)、このCSVはインポートできません。

CSVの中身を見てみると([Output Table]と[Message Box]を使います)、日付のところか「06/30/2018 00:00:00」となっています。
弥生会計のインポートルールでは、「2018/6/30」か、「20180630」でないといけません。
だからエラーが出るのです。
この日付形式をExcel上で整えることもできますが、他の会計ソフトへのインポートも考えると、CSVを加工する方法をマスターしておくのをおすすめします。

それぞれのデータで繰り返すので、[For Each Row]を使い、日付の列、Column3を変換します。
変換には、[Assign]を使い、次のように右側に入れましょう。

row(“column3”).ToString.Substring(6,4)+”/”+row(“column3”).ToString.Substring(0,2)+”/”+row(“column3”).ToString.Substring(3,2)

2018-06-13_11h09_11

06/30/2018 00:00:00 から、
・row(“column3”).ToString.Substring(6,4)で、6文字目(0、1、2、3・・・と数えるので、6文字目)から4文字→2018
・ow(“column3”).ToString.Substring(0,2)で、0文字目から2文字→06
・row(“column3”).ToString.Substring(3,2)で、3文字目から2文字→30
と取り出し、”/”を交えて、+でくっつけます。

そうすれば、06/30/2018 00:00:00 が、2018/06/30となるのです。
中身はこうなりました。

これで弥生にインポートできます。

ExcelTableを変換後[Write CSV]でCSVにしましょう。
(上記の変換は、ExcelTableについてやっているものです)

また、このとき、プロパティの[Encoding](文字コード)を「”shift_jis”」にしておく必要があります。

4 弥生会計へインポート

CSVを弥生会計にインポートします。

DeskTopレコーディングで、弥生会計を開き(このとき前回終了したファイルが開きます)、仕訳日記帳を[Type Into]に「”[k(alt)]cj”」と入れて開きましょう。
2018-06-13_15h20_44

このあとに、インポート(Alt→F→I)するわけですが、またまた弥生会計がロボットについてこれません。
(ガンダムがアムロの反応速度についてこれなかったように)

[Delay]で待ってもいいのですが、ここでは、[Find Image]を使います。
Image(画像)が出てきたら、次に進むという設定です。

2018-06-13_11h10_01

この画像を読み込みます。
弥生会計を開き、仕訳日記帳(しかし、この名前も古臭い。。会計データ、データでいいのに。偉い人が反対するんでしょうな・・)が開いたら、次のAlt→F→I([Type Into]で”[k(alt)]fi”)でインポートする流れです。

ex102

こういったボックスが出るので、

2018-06-13_11h10_28

DeskTopレコーディングで、ボックスをクリックし(指定し)、[Type Into]でファイル名を入力してボタンをクリックしましょう。

最後に、「インポートが完了しました」というボックスが出るので、それもDesktopレコーディングで、選択してクリックする動きを記録します。

これで、完了です。

CSVインポートの場合、データがいくらあっても手間は同じです。
RPAツールを使う場合、CSVインポートがあれば使い、そうでなければ、入力の方法を選ぶほうがいいでしょう。

入力のほうがロボットっぽいですけどね。
入力だとデータ形式に整えなくてもいいのはメリットですが、そもそもデータ形式の整えるのは効率化の基本ですので、それを度外視してロボットで無理やり効率化するのは、どこかで弊害が出る可能性はあります。

Excelデータ→Excel請求書・Excel請求書→Excelデータ | EX-IT


【編集後記】
昨日は個別コンサルティング。
WordPressスキルとPhotoshopスキルをフル回転でした。
お役に立ててよかったです。
Photoshopはもっと勉強せねばと。

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

クリームイエロー(スイカ)
個別コンサルティングでHP会社が作ったHPを改修

【昨日の娘日記】

まだできないのですが、服を脱いだり来たりしようとはします。
だいだいメダル(2017バラモンキング。プラスティック)を首にぶらさげているので、まずはそれを外すところから。


■スポンサードリンク ■井ノ上陽一のプロフィール
■スポンサードリンク



井ノ上陽一のVALU
■著書
【監修】十人十色の「ひとり税理士」という生き方
ひとり税理士のIT仕事術―ITに強くなれば、ひとり税理士の真価を発揮できる!!
フリーランスとひとり社長のための 経理をエクセルでトコトン楽にする本
新版 ひとり社長の経理の基本
毎日定時で帰っても給料が上がる時間のつかい方をお金のプロに聞いてみた!
『ひとり税理士の仕事術』
『フリーランスのための一生仕事に困らない本』
『社長!「経理」がわからないと、あなたの会社潰れますよ』
『そのまま使える経理&会計のためのExcel入門』