RPAとマクロの違い
この記事では、「RPAとマクロの違い」や「RPAとマクロの関係」について解説します。また、関連して良く質問を受ける「マクロとVBAの関係」についても解説します。
RPAとマクロの違いを簡単に説明すると
最初に、「RPAとマクロの違い」について、簡単に説明します。
RPAとマクロは、共に、「パソコンで行う作業の自動化」についての用語です。
マクロとは、「あるアプリケーションソフト(エクセルなど)の複数の機能をまとめて実行する為の機能」です。通常、この機能は対象のアプリケーションソフトに内蔵されており、別途、なにかを購入する必要はありません。
これに対して、RPAは「パソコンで行う業務を自動化する為の技術」です。自動化の対象は、特定のアプリケーションソフトの機能に限定されません。そして、RPAによる自動化の為には、様々なメーカーが発売している「RPAの為のソフトウェア」を、別途、導入する必要があります。
RPAとマクロの一番の違いは、「単一のアプリケーションソフト内の自動化に関する機能なのか、パソコンで行う業務全体を自動化する為の技術なのか」という点にあります。
ただし、様々な事情により、RPAとマクロの違いは単純に説明できるようなものではありません。説明を簡単にする為に、ここまでの説明には前提を置いています。正確な理解を望まれる方は、この記事を最後まで読み、全体像を理解するようにして下さい。
※アプリケーションソフトとは、アプリケーションソフトウェア(application software)の略です。業務の為にシステムソフトウェア(Windowsなど)から起動するソフトウェアは、ほぼ全てがアプリケーションソフトに該当します。なお、アプリケーションソフトは、「アプリケーション(アプリ)」や「ソフトウェア(ソフト)」などと略される事がある他、「アプリケーションプログラム」「応用ソフトウェア(応用ソフト)」「応用プログラム」などと呼ばれる事もあります。
RPAとマクロの違いを理解するのが難しい理由
なぜ、RPAとマクロの違いを理解するのは難しいのでしょうか。それは、「RPAもマクロも、共に、用語が指す対象が明確ではない」からなのです。
まず、「RPA」という用語には、「狭義のRPA」と「広義のRPA」が存在します。
狭義のRPAでは、「RPAの為に開発された専用のソフトウェアを用いた自動化」のみをRPAと呼びます。これに対して、広義のRPAでは、パソコンの自動化に関する技術であれば、その多くを対象に含めて考えます。
ですから、広義のRPAには、「マクロを使った自動化」が含まれる事もあるのです。この点が、まず、マクロとRPAの関係を複雑にしています。
そして、「マクロ」という用語は、それ以上に複雑です。
RPAとの関係で「マクロ」という用語が使われる場合、多くは「アプリケーションソフトのマクロ機能」、特に、「マイクロソフト社のオフィスソフトウェア(ワードやエクセルなど)のマクロ機能」を指す事が多いと言えます。
しかし、「マクロ」という用語が用いられるシチュエーションによっては、それ以外のアプリケーションソフトの「マクロ機能」を指して、「マクロ」という用語が使われる事や、アプリケーションソフトのマクロ機能以外の機能を指して「マクロ」という用語が使われる事すらあります(マクロの詳細については、この後、詳しく解説します)。
ですから、「マクロ」という用語について読んだり聞いたりした場合には、「この場合のマクロは、どのようなものを指しているのか」という事について十分に気をつけるようにして下さい。
※マイクロソフト社のオフィスソフトウェアは、「マイクロソフトオフィス(Office)」として販売されている他、「ワード(Word)」や「エクセル(Excel)」などの単体ソフトウェアとしても販売されています。また、近年は、「Microsoft 365(旧名称はOffice 365)」として、サブスクリプション型でも提供されています。
RPAとの関係で知っておくべきマクロの定義
では、マクロとは、どのようなものを指すのでしょうか。ここでは、RPAとの関係で知っておいて頂きたい内容に絞って、マクロという用語の定義について解説します。
まず、「マクロ」を辞書で調べると、「ソフトウェアで、複雑な操作手順をあらかじめ記述して登録し、必要な時に簡単に実行させる機能。(広辞苑第6版)」となっています。この説明が、一般的なマクロの定義です。
例えば、エクセルには、「ファイルを開く」「印刷する」「ファイルを閉じる」などの一連の操作を保存しておき、必要な時に呼び出し、実行する事が出来る機能があります。この機能を使う事で、一連の操作を自動で実行する事が出来るのです。これが、「アプリケーションソフトのマクロ機能」です(この場合は、より具体的に、「エクセルのマクロ機能」と呼ぶ事も出来ます)。
しかし、この「アプリケーションソフトのマクロ機能」は、あくまで、各アプリケーションソフトの一機能に過ぎません。ですから、そのアプリケーションソフトごとに「マクロによって何が出来るのか」は大きく異なります。
自由度が高い(様々な事ができる)マクロ機能が用意されているアプリケーションソフトがある一方、マクロでは非常に限定的な事しか出来ないアプリケーションソフトも存在します。そもそも、マクロ機能がないアプリケーションソフトも珍しくありません。
ですから、「そのアプリケーションソフトに内蔵されているマクロ機能で何が出来るのか」は、「アプリケーションソフトによって大きく異なる」という事になります。
また、少し複雑な話になりますが、ここまで説明してきた「アプリケーションソフトのマクロ機能」とは全く異なる「マクロ」が存在する事も説明しておかなければなりません。
その中でも特に重要なのが、「ソフトウェア開発(プログラミング)において用いられるマクロ」です。これは、プログラムの内部で、「ある内容に名前を付けて呼び出せるようにする」という機能です。
例えば、「10%」という数字に「現在の消費税率」という名前を付けておき、プログラムの中で消費税に関する計算を行う場合には、「現在の消費税率」という名前で保存されている値を呼び出すようにします。このような処理を行う事によって、消費税率が変更になった場合でも、プログラム内の修正箇所を最低限に抑える事が出来るのです。
この機能は開発を効率的に行う為に利用されるものですので、一般のソフトウェア利用者が意識する事は、通常、まずありません。
しかし、RPAの導入に携わっていると、システム開発に関する話題に接する事もあるでしょう。その場合、このような意味での「マクロ」という用語に接する事があるかもしれません。
マクロとVBAの関係
次に、一緒に良く質問を受ける「マクロとVBAの関係」についても解説しておきましょう。
VBAとは「Visual Basic for Applications」の略であり、マイクロソフト社が発売しているオフィスソフトウェア(エクセルやワードなど)の上で動くプログラムを書くための簡易コンピューター言語(プログラミング言語)です。
例えば、VBAを使うと、「○○という名前のファイルを開く」や「作業中のドキュメントを印刷する」といった処理を行う為のプログラムを書く事が出来ます。
ですから、「マクロとVBAの関係」は、「マクロの内容は、VBAで記述する事ができる」という関係だと理解して頂ければ結構です。
ただし、マクロという用語が指す対象が幅広いのは前述の通りです。この関係は、マクロが「マイクロソフト社のオフィスソフトウェアのマクロ機能」という意味で使われている場合に限って成立する事に注意して下さい。
RPAとマクロの関係
最後に、もう一つ知っておいて頂きたい「RPAとマクロの関係」をご紹介します。
それは、「RPA用のソフトウェアを導入して自動化を行う際、作業に関係するアプリケーションソフトのマクロ機能を、RPAの側から呼び出す事がある」という関係です。
すなわち、RPAとマクロを連携させる事があるのです。
RPAでは、ソフトウェアの種類にとらわれない自動化を実現させる事ができます。しかし、各アプリケーションソフトに内蔵されているマクロ機能は、そのアプリケーションソフトの機能を活用する上では、非常に優秀です。
この為、RPAが直接、各アプリケーションソフトの細かい機能を操作するよりも、マクロを経由して各アプリケーションソフトを操作した方が良いケースがあるのです。
最後になりますが、RPAとマクロという用語が意味する範囲は非常に広く、また、RPAがマクロを活用するケースもあるなど、両者の関係は複雑です。用語の正確な理解が必要となる際には、十分に気をつけるようにして下さい。