RPAはエクセルマクロ(VBA)とは違うのだよ!

RPA RPA
RPA
RPA

RPA

らくだ
黒らくだ
プログラマーの黒らくだです
こんにちは。プログラマの茶らくだです。
今回は僕がご案内するよ!

最近よく耳にするRPA(ロボティック・プロセス・オートメーション)って、
昔からあるエクセルマクロと同じ? 違うならどこが?という話を聞きます。

確かに、大きな意味でその目的は類似しているので、この疑問は自然かも知れませんね。
その目的の代表が「業務効率化」です。
両方とも、これを実現する為のツールなので、必然的に類似点が多いといえます。

 

この事が、両者の違いを分かりにくくしており、ともすれば同一視される事があるのだと思います。

 

では、本当にRPAはマクロと同じで、単なるバズワードなのでしょうか?

 

この記事ではこの、RPAとマクロの違い
を考えてみます。

 


エクセルマクロ・VBAを改めて

両者の違いに触れる前に、まずエクセルマクロとVBAについてのおさらいです。

 

エクセルマクロは、言わずと知れたOfficeアプリケーションであるMicrosoft Excelを自動化する仕組みで、エクセルの機能の1つと言えます。

 

この機能を使う為には、専用のプログラミング言語で内容をを記述する必要があり、このプログラミング言語がVBA(Visual Basic for Applications)です。

VBAはその名前の通り、Visual Basicを元にした言語で、Officeファミリー(Excel、Word、PowerPoint等)で使用できます。

マクロを使うと、セルのコピペの連続や、数式をコピーして集計表を作成するといった手作業を、ボタン一つで自動化するといった事が可能です。
また、Excelファイルだけでなく、WordなどOfficeのファイル操作も容易です。
ただしあくまでも「Excelの機能として動く」という制約がありますので、Excelは常に実行されている必要があります。

 

なるほど!マクロはExcelの中で動くって事だね!

マクロの動作イメージ

この便利な機能は、一昔前のEUC(End User Computing)ブームも手伝い、多くの企業で独自のエクセルマクロが作られ、現在も使われています。

 

意外に思われるかも知れませんが、パワポやOutlookでもマクロは使えます。
この場合、Excelでいうブックやシートが、スライドやメールに変わりますがプログラムの書き方(文法や基本的な操作)は一緒です。
Excelは恐らく日本一使われているアプリケーションなので「マクロ = エクセル」が定着したのでしょう。
そうそう!
僕なんかプログラマなのに、
プログラミングをしない日でも不思議とExcelは使うんだよね。
何かの一覧表や出勤台帳みたいなExcelファイルは、
きっとどの会社にもあるんじゃないかな?
それに、僕みたいな横着は繰り返し作業があると、
ついマクロを書いてしまうんだよね~
「Excelさん。後は任せた」って ;^^)

ここまででエクセルマクロは、エクセルのマクロ機能だと言ったのは意味があります。というのは、マクロ機能があるのはエクセルだけではありません。

 

例えば、ワープロソフトで有名な一太郎の”一太郎マクロ“、テキストエディタ秀丸の”秀丸マクロ“などは、独自のマクロ機能を持っています。

RPAってただのマクロ?

RPAは、Excelファイルだけを扱う場合「ただのマクロ」と大きな違いを感じないかも知れませんね。

 

ですがその動作に着目すると、エクセルマクロとは大きく異なります。

エクセルマクロはExcelの中で動き、Excelファイルを自由に使えます。
ですが、パワポのファイル(PPTファイル)を使う時の動作を見ると

  • ExcelからPowerPointを実行する
  • PowerPointのマクロ機能を使ってファイルを操作する

という”2段階”の手順が必要です。

 

これに対しRPAは、自立して動くことができます。

そして、様々なファイルやExcel、Webブラウザといった別のアプリケーションを操作することを前提に作られています。
これは、RPAツールの中には元々システム開発現場のテスト自動化ツールだった製品もあることからも特徴的と言えるでしょう。

RPAは、Excelと同じレベルで独立したプログラムなんだ!!
何か偉そうだね。ウズウズ

RPAの動作イメージ

RPAとマクロの使い分け

では、似たもの同士のRPAとマクロはどのように使い分ければ良いのでしょうか?

 

これまで見てきたように、両者の大きな違いはその動作の仕組みです。
「エクセルマクロはExcelの中で動く」でしたね。

 

この視点から、扱う対象を軸にとってみると、一つのヒントになるかも知れません。
以下に代表的な自動操作の対象を挙げました。

扱う対象 エクセルマクロ RPA
Excelファイル
Wordファイル
メール △(Outlookに限る)
ファイルやフォルダ
Webブラウザ
Windowsアプリ ×

こうしてみると両者の特徴が現れてきます。

 

エクセルマクロは、Excelファイルの扱いがダントツで得意です。(当たり前ですが)
扱う対象がWordやメールの場合はOfficeファミリーの為、ファイルやフォルダはWindowsのライブラリを使用できる為不自由はありません。

 

ですが、WebブラウザやWindowsアプリの場合は途端に旗色が悪くなります。

そうなんだよ!
マクロでメモ帳とかを自由に操作できたら楽だと思うんだけど、
これが難しいんだ。
一方でRPAは、初めから様々なものを自動操作する為に作られている為、得手不得手の起伏がありません。むしろ、マクロが苦手なWebブラウザやWindowsアプリの操作を得意としている製品が多いと言えます。
このあたりは、後発の強みという事かも知れませんね。

まとめ

RPAとエクセルマクロの違いを見てきました。

まとめると、

  • Excelファイルだけを扱う場合は、エクセルマクロが使いやすい
    特に既存のマクロがある場合、わざわざRPAで作り直すのは無駄になってしまう可能性もあるので、きちんと検討したいものですね。
  • Excelを含めてOfficeファイルを扱う場合は、どちらでも可能
    エクセルマクロで出来なくはありません
    ですがプログラムが複雑になりがちなので、開発体制が整っている場合を除けば、RPAを検討する方が良さそうですね。
  • Webアプリや社内システムを扱う場合は、RPAのメリットを一番生かせる
    RPA一択で良いと思います。

 

このことからも、現在RPAが急速に普及している背景には、
従来は情報の保存場所がExcelの台帳管理していたものが、Webアプリが主流となったという、時代の流れが一因として挙げられるのではないでしょうか。

コメント

タイトルとURLをコピーしました