RPAはどうやって動いている? 各種操作を自動化する仕組みをチェック!
RPA(Robotic Process Automation)は業務を効率化する素晴らしいツールです。
それまで何時間もかかっていたことがRPAを使えば数分で済むケースもあるかもしれません。
そこで気になるのがRPAの中身です。
どんな便利なツールでもどうやって動作しているのかがわからなければ怖いもの。
というわけで今回はRPAの仕組みについて探っていきましょう。
パソコン上の操作を記録するRPA
RPAはパソコン上で行う操作を記録し、再生することができるツールです。
例えば記録を開始してから何かしらのフォームに文字列を入力し記録を終了、そして再生すれば同じようにフォームに文字列が入力されます。
そのため記録を開始してからデータ作成を行えば同じようにデータを作成することができるわけです。
データ作成の業務は定型的なものなので記録と再生に相性が良い領域といえるでしょう。
反復して同じようなデータを作るだけなので記録の仕方も簡単です。
反対に不得意なのが非定型な操作。
個別に必要な項目が違うデータや、特殊なデータを作成する場合にはRPAは使えないかもしれません。
RPAはあくまで記録したとおりに動作するツールなのです。
効率的に改良することも可能
RPAに操作を記録させる方法は実際に人間が手を動かして覚えさせるという方法もありますが、コードを書いて操作するという方法もある形です。
例えば座標(0,0)に位置するボタンを押してから座標(1000,1000)にあるボタンを押すという操作を考えてみましょう。
このとき、人の手によって操作を記録しようとすると横と縦方向に「1000」距離カーソルを移動させなければなりません。
ですがここでコードを書くなら移動を全く無視することができます。
いわく「座標(0,0)でマウスをクリックする」という命令と「座標(1000,1000)でマウスをクリックする」という命令があれば良いだけだからです。
業務には関係の無い「マウスカーソルの移動」という処理をカットすればよりRPAは効率的に動くようになるでしょう。
RPAは非エンジニアでも簡単に扱うことができる、という点が売り文句の1つではあるのですが使いこなすにはコードを読み書きできる能力が必要になります。
そのため担当者はできるならプログラミングに精通している方を選ぶと良いでしょう。
もちろん非エンジニアでも使えることは使えるのですが、最適な設定はコードで実現できるものなのです。
mac用のRPAは少ない
RPAの製品はそのほとんどがWindows用となっています。
中にはLinux向けのものもありますが、mac用のものとなると非常に少ないのが現状です。
現在はクロスプラットフォーム開発が流行していることからOSの垣根を越えて色んなツールやソフトウェアが使えるようになりました。
それならRPAも同じように様々なプラットフォームで使えても良さそうなものですが、ほとんどWindows専用ソフトとなっています。
この理由は恐らくほとんどのRPAがWindowsのAPI(Application Programming Interface)を使っているからでしょう。
特定のサービスで動作するAPI
APIとは特定のサービスで動作するインターフェースのことをさします。
WindowsならWin32APIやWin64APIというものがあり、これらのインターフェースを通してWindows由来の機能を操ることができるわけです。
例えばマウスカーソルを移動させるには「SetCursorPos(x,y)」といった関数を呼び出せば指定座標にマウスカーソルを配置することができます。
具体的には以下のようなコードをWindowsで実行すればマウスカーソルは右に(1000,0)の座標へと移動していきます。
- for(int i=0;i1000;i++){
- SetCursorPos(i,0);
- }
ただこのコードはmacやLinuxでは動きません。
なぜなら「SetCursorPos(x,y)」という関数はあくまでもWindowsに依存したものだからです。
では他のOSで同じ事をするにはどうしたら良いのかというと、それは他のOSに依存したAPIを使わなければなりません。
こうした事情があるため、ほとんどのRPAはWindows専用のものとなっているのでしょう。
もしRPAを導入しようと考えたとき、職場のパソコンがmacだったら選択肢は限られたものになってしまうので注意が必要です。
ですがこの問題はRPAが広まるにつれて解消されるはずです。
なぜなら開発資金があればWindows以外の他のOSに向けたRPAを作ることは何の不思議も無いため。
RPAのメーカーが大きな利益をあげればmacやLinuxに対応したRPAツールも増えていくでしょう。
WindowsのAPI以外の方法
Windowsに依存した方法以外でも実は操作を自動化する方法は存在しています。
正確には操作を自動化するというよりは処理を自動化するといったほうが正しいかもしれません。
例えば何かしらのデータをサイトから取得し、それをエクセルファイルに書き込むといった自動化処理です。
こうしたタイプの自動化は色々な言語で行うことができます。
エクセルのデータを作りたいならそれこそエクセルのVBAはIEと連携して様々なことができるでしょう。
他にもウェブからデータを引っ張ってこれる言語であればまずデータ作成はできるはずです。
ウェブ上にあるデータが不要で、ただ単にデータを加工したいというだけならエクセルのマクロが便利かもしれません。
また単純な定型的な計算結果の出力が欲しいだけなら簡単なC言語でも実現できたりします。
実のところ、Windowsに依存しない形でも色んなことを自動化することはできるのです。
どのレベルの自動化を果たしたいかが焦点
例えば特定の計算を大量にしなくてはならない場合、その計算をさせることはRPAツールでなくても可能です。
またファイルの入出力に通じた人材がいればその計算結果をファイルに書き込むこともできるでしょう。
さらにはそのデータをDropboxなどに保存するよう設定しておけば即座に共有できたりします。
RPAは確かに便利なツールではあるのですが、必要性の無いところに適用する意味はありません。
もしIT技術に長けた方が居て、自動化がそこまで必要では無いなら専用の自動化プログラムを作るのも良いでしょう。
業務数が大きくなればなるほど効果あり
RPAツールの強みはとにかく「どんな業務にも適用することができる」という点です。
対して特殊な処理を行う自動化プログラムはその特殊な場面にのみ特化するため、他の業務に使いまわすことができません。
そのためプログラムを書いて自動化する場合は業務が多ければ多い程、負担が増加していきます。
ですがRPAツールならどんな処理でもお手の物。
プログラマーも必要なければ設定にプログラムの知識が要るわけでもありません。
確かに超効率化を目指すならコードの読み書きができる方が便利ですが、調整をしなくても人間が捜査するより遥かに業務は効率化できるのです。
導入の検討は慎重に行おう
RPAは決して導入したからすぐに業務が効率するものというものではなく、適したところに適用することで初めて効率化を果たすことができるものです。
導入の際は本当にRPAが必要か、他の代案の方が適しているのではないか、といった問題点を解決してから導入するようにしましょう。
まとめ
RPAの仕組みについて探ってきました。
RPAは操作を記録してくれるツールですが、そのほとんどはWindowsのAPIに依存しているため他のOSでは数が少ないのが現状です。
ただRPAを介せずとも色々な自動化の方法はあるので検討してみると良いでしょう。
RPAを導入する前には本当にRPAが必要かどうかをしっかり考え抜くことが重要です。
結果的に導入が決まったなら今度は設定する領域や設定の内容を吟味しましょう。
プログラムと違って様々な領域で活躍できるのがRPAなので、部署の垣根を越えて使える場面を探ることをおすすめします。