RPA(WinAutomation)とExcelマクロの比較。記録とプログラミング。

RPA(ロボット)を導入すると、Excelは楽になるのかどうか。
Excelマクロとの場合と比べてみました。

excel-rpa

※カフェにて iPhoneX

Excelマクロで請求書作成→PDF→メール送信のマクロのつくり方

Excelマクロで

・データから請求書をつくる

EX-IT_No-13

・PDFファイルにする

EX-IT_No-24

・メールに添付して送る

InkedEX-IT_No-26_LI


■スポンサードリンク

を繰り返すしくみをつくることできます。

つくり方は2つ。

1つは、マクロの記録、もう1つはプログラミングです。

マクロの記録

マクロの記録とは、Excel左下のアイコン(「準備完了」の右)をクリックして、人間の操作を記録してくれる機能です。

もし、アイコンがない場合は、画像のアイコンのあたりを右クリックすれば、表示できます。

EX-IT_No-04

クリックすると、このようなボックスが出て、OKをクリックすれば記録スタートです。

EX-IT_No-05

試しに記録してみましたが、こんな感じです。。。

ひとまず1人目は記録できますが、3人なら3回、100人なら100回人間が操作しなければいけません。

プログラムをコピーしてつくることもできますが、現実的ではありません。

しかも、間違った操作も記録してくれます。

試しにやってみたとき何度か素で間違えました。

EX-IT_No-06

プログラミング

もう1つの方法はプログラミング。

この記事で紹介したものです。

繰り返しの部分もきれいに処理できます。

ただ、プログラミングを覚える必要があるので、敷居は低くありません。

Excelマクロだと、このプログラミングのことをいい、マクロの記録は使う必要はないのです。

RPA(WinAutomation)での記録

そして、RPA(Robotic Process Automation)、ロボットによる自動化でも、上記の処理はできます。
Excelに限らず、Windowsのすべてのアプリケーション、ブラウザなども含めて自動化できるのが強みです。

今回は、あえて、Excelマクロで終わる処理を、RPAでやってみました。

私が使っているのは、WinAutomation。
厳密には、RDA(Robotic Desktop Automation)といわれる単体のPCに入れるものです。

(買い切りで約10万円。RPAは年間90万円から1000万円超まで)

このRPAでは、「記録するだけで自動化できる」と言われています。

プログラミングの知識がいらないと。

確かにそういう機能はあります。

このメニューだと、

・Macro Recorderがデスクトップアプリケーション(通常のソフト)の操作を記録

・Web Recorderがブラウザの操作を記録
というものです。

EX-IT_No-07

WinAutomationを使ってみた限りでは、Macro Recorderはいまいちの印象で、記録はうまくいきません。

EX-IT_No-08

他のPRAだとうまくいくのかもしれませんが、結局はマクロの記録と同じ問題があるでしょう。

データが複数あり、繰り返しの処理がある以上、何かしらの操作は必要です。

もちろん、アイコンで使いやすくなっているものもあるので、Excelマクロより敷居が低い部分はあります。

EX-IT_No-13

RPA( WinAutomation)でのプログラミング

ExcelマクロでのプログラミングとWinAutomationでのプログラミングを比較してみました。

請求書作成

Excelマクロだと、データを数えて、氏名、項目、金額といったデータを読み取り、請求書フォーマットに書き込んでいます。

EX-IT_No-01

WinAutomationも同様の処理です。
左側のメニューからドラッグアンドドロップで右側に入れることができるので、Excelマクロよりも楽につくれます。

ただ、メニューから説明まですべて英語。
WinAutomationはギリシャのメーカーのソフトなので。

Excelマクロも英語といえば英語なのですが、参考書籍、ネットの情報は日本語です。

WinAutomationはネットの情報も90%以上は英語なので、ある程度読めないと先に進めません。

(高いRPA、たとえば、年額90万円のNTTデータのWinActorは日本語です)

EX-IT_No-09

Launch Excelで、Excelファイルを開きます。アイコンをクリックするとファイルを指定でき、そのファイルを、「%ExcelInstance%」と名付けます。

(これは任意に変更可能です)

EX-IT_No-10

次に、Get First Free Column/Row Actionを入れると、先ほどの「%ExcelInstance%」が自動的に入ります。

こういったところはExcelマクロより楽です。
このアクティビティは、最初に空欄になるセルを数えてくれます。

EX-IT_No-11

こういうデータですので、最初に空欄になる行は、5、列は、5です。
それぞれ%FirstFreeRow%、%FirstFreeColum%と名付けます。

Excelマクロでも、同じように、

Dim Max_row As Long

Max_row = Worksheets(“data”).Range(“A” & Rows.Count).End(xlUp).Row

で表現で、

EX-IT_No-13

Excelマクロにしろ、RPAにしろ、こうやってデータの範囲を把握しているわけです。

人間が適当な場所に空白セルを入れていると困ります。

邪魔しないようにしましょう。
ディープラーニングで認識するなら、「空白があるけど、続きでデータがあるな」と判断してくれるかもしれませんが。
技術が進化しすぎると人間が退化するので、必ずしも好ましいとは言えません。

次は、Read from Excel Action。

Excelからデータを読み込みます。

セル1つで読み込むこともできますが、この場合、範囲で読み込みました。
このほうが処理をしやすいからです。
(Excelマクロでもこういった読み込み方はできますが、よりわかりやすく書きやすくするためにそうでない方法を使っています)

読み込んでいるのは、1行1列目(セルA1)から%FirstFreeRow-1%行4列目(セルD4)までの範囲。

先ほど%FirstFreeRow%だと、空欄がある5行目になるので、%FirstFreeRow-1%として、データがある4行目までの範囲にしているわけです。

この範囲を、%ExcelData%と名付けます。

EX-IT_No-12

大事なのは、Advancedタブ。

ここで、次の画像のようにチェックを入れましょう。

1行目は見出しにする設定です。

見出しまで読み込んだほうが、あとの処理がしやすくなります。

EX-IT_No-00

続いて、Excelに入れたメールの設定を読み込みます。

ロボットを動かす前にここに入力しておけば、変更しやすくなるわけです。

EX-IT_No-15

これも範囲で読み込み、%mail%という名前を付けます。

EX-IT_No-14

次にExcelシートの書き込んでいきます。

Excelマクロでは、同じファイルの請求書フォーマットをコピーして使いましたが、WinAutomationでは、シートのコピーが見当たらず。。。

別ファイルの請求書フォーマットを開き、それに書き込む方法にしました。

「For Each」アクティビティで書き込む処理を繰り替えします。

読み込む範囲は、「%ExcelData%」で、1行ずつ、「%ExcelDataRow%」に書き込むしくみです。

EX-IT_No-29

EX-IT_No-16

開いた請求書フォーマットファイルを

EX-IT_No-27

%ExcelIstance2%という名前にし、まずは、今日の日付をGet curent Date and TIme というアクティビティでとり、それをセルに書き込みます。

その次にさきほど読み込んだデータ(氏名、項目、金額)を書き込むわけです。

範囲で読み込んだデータ「%ExcelData%」のうち、「%ExcelDataRow%」で1行ずつ読み込みます。

「%ExcelDataRow[“氏名”]%」とすると、最初のデータ「上村 真希」をセル1列目6行目に書き込むという指示です。

EX-IT_No-30

EX-IT_No-17

同様にして必要事項を書き込み、請求書が完成します。

PDFの作成

請求書PDFをつくります。

EX-IT_No-02

WinAutomationだとこういうプログラムです。

日付を文字に変換し、ファイル名をつくります。

EX-IT_No-18

その後は、PDFファイルを作成するアクセスキー(Alt→F→E→P→A)を実行し、ファイル名をつけてEnterキーを押すという流れです。

手でやるときは、F12(名前を付けて保存)のほうが早いのですが、WinAutomationではうまくいかず、こちらのアクセスキーを使っています。

「Send Keys」はキー操作をロボットに実行してもらうアクティビティです。

早すぎると認識しないときがあるので、Delay Between Keystorokesを100にしています。

地道な努力です。

EX-IT_No-19

メール送信

つくったPDFをメールで送ります。

EX-IT_No-03

PDFのファイル名(c:\〇〇〇・・・)が必要なので、WinAutomationでも、ファイルパスを設定しなければいけません。

EX-IT_No-20

Send Emailアクティビティで、送信元、送信先、件名、内容などを設定します。

ここは、Excelマクロより楽です。
Attachmentで添付ファイルの指定もできます。

InkedEX-IT_No-21_LI

SMTP Severタブで、メールの設定を入れておきます。

InkedEX-IT_No-22_LI

このロボットを動かせば、データの数だけ、請求書をつくってメールで送れるわけです。

ExcelマクロとRPAとどちらが楽か。

どちらも記録だけではなかなか難しいので、プログラミングになります。

Excelマクロを知っていれば、マクロで書いたほうが楽なのですが、まったくゼロからならRPAのほうが楽な可能性もあります。

変数(名づけ)やアクティビティを組み合わせるだけなので敷居はやや低いからです。

ただ、大事なのは人間のアイデア。

こういったのを保守も含めて頼むとそれなりの金額です。

人ひとりよりも安いかもしれませんが、ひとりしごとや小規模だとそうもいかないでしょう。

自分である程度わかっていれば、外注するとしても、だまされなくなりますので、触ってみるのもおすすめです。

WinAutomationは、無料で30日試せます。
一番安い4万円のものだとWebRecordingができないので、おすすめは8万円のものです。
(最も高い11万円のものはいらないと判断しています)

無料のRPAも今試していますが、今回の事例での最後の最後で詰まって挫折しました。

(その分の試行錯誤で、この記事、めちゃくちゃ時間かかっています・・。ま、これでまた強くなりましたが)

ちなみに、Excel部分をExcelマクロでつくって、ボタンを押すと作動するようにしておき、RPA(ロボット)には、ボタンを押す操作だけしてもらい、PRAにしかできない自動化も考えられます。

組み合わせるとおもしろくなりそうです。

ExcelマクロとRPA、どちらを使いにしても、英単語を読むことへの拒否感をなくすこと、アイデアと、ほんのちょっとのプログラミング思考は必要でしょうね。

EX-IT_No-23


【編集後記】
昨日は恵比寿でランチミーティングのあと、個別コンサルティング。
全5回の5回目の方でした。

【昨日の1日1新】
※詳細は→「1日1新」
恵比寿 Kintan

【昨日の娘日記】
某ディズニーの英語教材の試供品がお気に入りです。

アルファベットと絵が描いた絵本で、お風呂でも読めます。
教材は、
い、一応検討したのですが、今のところ見送っていますが。
90万くらいするので。


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



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