RPAを推進している中で非常によく言われるのが、「結局のところRPAとExcelマクロの違いって何?わざわざRPAを導入するメリットを教えて欲しい」という言葉です。

今回はRPAについてわからない方向けに平易な文章でRPAとマクロの違いについてお伝えします。

RPAの特徴とマクロとの決定的な違い

そもそもRPAとはRobotic Process Automationの略でロボットによる業務自動化を指します。

一般的にExcelマクロは「マクロの記録」というレコーディング機能をそなえたボタンを押下した後、実際の動作を記録させます。

Excel内で動作完結する簡易的なものであればそれで問題ないのですが、実行速度の向上を図ったり少しでも複雑な動作を組み込もうとするとVBAに触れる必要があります。

これはRPAにも同様のことが言えます。

ほとんどのRPAには記録機能が存在しますが、こちらも実行速度の向上を図ったり少しでも複雑な動作を組みこもうとするとプログラミングのスキルが必要となるという訳です。

では何が違うのかという話になってくるのですが、一番の違いはアプリケーションをまたぐことが出来るという点です。

Excelマクロは便利ですが、決められたシートに記載された文字列を整頓し、ピボットテーブルにまとめるようなExcel内で完結する業務は事実上ほとんどありません。

実業務というのははgmailによるメール受信をトリガーにWordで見積書を作成したり、アプリケーションベースの基幹システムへログインしcsvで社員の残業時間を書いたファイルをダウンロードし、それを加工して別のシステムへアップロードしたり複数のアプリケーションを行き来してこそです。

実はVBAでもDOMツリーを眺めてWebブラウザ上の対象を一意に特定するタグを選択するようなコードも書けるのですが、それを出来るのは専門知識を持った一部のエンジニアに限られます。

また先述のような技術をWebスクレイピングといったりするのですが、その部分の操作性が非常に良いのがRPAです。

数あるRPAソフトウェアの中でも特にこの分野に強いのがSynchRoid(シンクロイド)で、操作性については頭一つ抜けています。

RPAはノーコーディングと言われる理由の一つがこの部分です。

Webスクレイピングを簡易的に行うのがRPAであることは理解頂けたかと思います。

デスクトップオートメーション

RPAではアプリケーションをまたぐことが可能ということはお伝えしましたが、ExcelもWordもAccessもInternet接続が必要とされるWebアプリケーションではありません。

ただそれらを座標指定や画像検索で操作をしているかというとほとんどのRPAではオブジェクトとして認識しています。

ではどう扱っているのかという話なのですが、基本的にはRPAツールの内部でWindows APIを呼び出し操作をしています。

こちらについても専門知識不要で非常に操作性に優れているのがRPAの特徴ですが、この分野で特に操作が容易なのはUiPath、Blue Prismの2つ。

上記2つはMicrosoft .NET Framework上に構築されているため非常に相性が良いものとなっています。

Windows APIを使うことでロボットを扱うPCの解像度が変わったりしてもそちらに依存することなく実行が可能となるのでこちらもよく利用される方法です。

画像認識、座標認識

リモートデスクトップで作業を実施している場合など、Windows APIの操作が出来ない場合に備えてほとんどのRPAソフトウェアでは画像認識、座標認識という方法も備えています。

デスクトップにGoogle Chromeのアイコンがあればそれをクリックするというのが画像認識、スクリーンの左上を2次元座標の(0,0)として、右に何ピクセル、下に何ピクセルかというのを指定する方法です。

NTTデータが提供するWinActorが最も得意とする部分はこちらですが、端的に言って確度が出ません。(目安として95%程度)

これはWinActerが劣っていてUiPathが優れているといったソフトウェアベースの話ではなく、技術的に画像、座標指定で開発したロボットでは今の段階で確度を出すのが困難です。

また対象のレイアウトが変わったり画面の解像度が変更になると改修が発生するため、最後の手段として用いられることが多いのがこの方法の特徴です。

確度の壁を越えるのに限界があるため、非常に簡単に開発出来るとはいえ、この方法で開発したロボットはアンケート結果転記等が限界と言えます。

まとめ

一概にRPAで開発したロボットと言っても実際には下記4つの方法のいずれか、または組み合わせで作られたロボットがあります。

  1. 構文解析(SynchRoid優位)
  2. オブジェクト解析(UiPath、Blue Prism優位)
  3. 画像解析(Win Acter優位)
  4. 座標解析(Win Acter優位)

上記開発方法にはそれぞれメリット、デメリットがあります。

もしこちらの記事をご覧になっているあなたがRPAソフトウェア選択で迷っているのであれば、最低限上記4つの開発方法を備えたソフトウェアをトライアル候補として選択してください。

その上でセミナーや体験版送付を申込み、実際にいくつかを触ってみて、どのソフトウェアが自社導入に向いているのかをあらためて検討するのがおすすめです。

この記事が皆さまの参考になれば幸いです。