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

  • URLをコピーしました!

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バラモンキング。プラスティック)を首にぶらさげているので、まずはそれを外すところから。

  • URLをコピーしました!