RPAはRobotic Process Automationの略で、ロボット技術を用いて、業務の自動化を行うためのツールをRPAツールと言います。
結論からいうと、業務を自動化する手段として利用されるRPAは、プログラミングがわからなくても利用できます。
しかし、プログラミング言語の知識があるとよりRPAを活用でき、自動化できる業務の幅も広がるでしょう。
また、RPAの保守や開発に関する限り、プログラミング知識はほぼ必須と言ってよいでしょう。
この記事では、プログラミング言語とRPAの関係性やプログラミング知識が必要な場面について解説。
また、おすすめのプログラミング言語を紹介します。
RPAの導入をお考えの方や、RPAの運用を任されているという方はぜひ参考にしてみてください。
株式会社MICHIRU 取締役
この記事の監修担当者:
相馬 章人
2014年に医療・ヘルスケアITベンチャー企業に入社。人工知能やIoT技術を使用したプロダクト開発およびプロジェクトマネジメントを経験。2018年フリーランスのソフトウェアエンジニアとして企業・大学と連携し機械学習を用いた自然言語解析を行うプロジェクトに参画。2018年より株式会社MICHIRUに参画。主にカスタマーサクセスを担当。
RPAによる業務自動化とプログラミング知識
RPAの業務内容により、必要な知識が異なります。
ここでは導入と、運用・保守のそれぞれの場面で、プログラミング知識がどう役に立つのか、ご説明します。
導入
RPAの導入の場面は、プログラミングの知識がなくても進めやすい業務が大きな部分を占めています。
目的が業務改善であり、業務フローをよくわかっている業務担当者がRPAの導入プロジェクトに多く参加することがむしろ必要、と考えてよいでしょう。
ただし、もちろん導入のための設定や、シナリオの作成の場面ではプログラミングの知識を持っているエンジニアと、業務担当者の対話で作るのが最も効果的です。
業務担当者とエンジニアが要件を定義し、エンジニアが作成したシナリオを、業務担当者との検証で修正したり、時に直すこともまれではありません。
その試行錯誤がより業務に合ったシナリオ作りにつながるのです。
ただし、後程ご説明するように、RPAは、PC操作の定型的作業を自動化するツールなので、RPAツール単体でデータの分析・整理などを行えるものではありません。
そこで、他のツールとの組み合わせで導入する、シナリオに他のツールでの作業を織り込むなどの場面になると、プログラミングの知識があるとさらに自動化が楽になることがあります。
運用
RPAの運用はプログラミングの知識があったほうがスムーズに行えます。
シナリオ開発・他のシステムとの組み合わせなど、運用における応用を利かせることができます。
また、これはさらに重要な点ですが、トラブルシューティング・緊急事態の発生に、たとえばバッジプログラムをあてる、シナリオを書きなおすなど、直接に有効な手段を下すことができます。
社内の運用ルールの設定に際しても、プログラミングを理解して運用ルールを書くことにより、大きなトラブルを防ぐことができます。
プログラミングの知識のみ、というわけにはいきませんが、いざという大きなトラブルがあるとき、課題の抽出にはツールの言語を理解した技術者により行ったほうが確度が高いのです。
保守
RPAのサーバを含めた保守・メンテナンスではプログラミングおよびシステム開発の知識が必須になります。
保守は不測のことや、緊急の事態に対処する必要性もありますし、他のシステムへの影響や、あるいは通信に関しても考慮に入れて対処する場面があります。
そうなるとプログラミングができるできないより、むしろシステムエンジニアの仕事です。緊急事態の発生に対処するにはエンジニアの経験がものをいいます。
内製・外注を問わず、プログラミングの知識があるエンジニアが行うことが前提となります。
RPAの開発とプログラミングスキル
RPA開発については本格的なプログラミングスキルが必要になります。
ここでは、RPA開発の概要と、間違えやすい「シナリオ開発」との違いを解説。
また、RPA開発に役立つプログラミングのスキルやおすすめのプログラミング言語を紹介します。
RPA開発とは?
シナリオ開発・ツール開発・カスタマイズ・他のシステムとの連携を行うことを総称してRPA開発と言います。
ツール開発ないしカスタマイズ、システム連携は基本的にエンジニアの仕事です。ベンダーはもとより、RPAツールは、自社開発も意外と多いのです。
外注・内製を問わず、自社開発はシステム開発者が行います。
これに対して、シナリオ開発は、必ずしもエンジニアがやる必要はありません。プログラミング不要のツールも今は増えています。
作り方はノンエンジニア~情報処理技術の知識をある程度持つ人で十分理解できるでしょう。
ただし、ツールごとに必要性が異なるので、プログラミングができる人材がいれば、ツール選択の幅は広がります。
さらにシステム間の連携は、コードが書けないと直接手が下せません。API連携でも、あるいはプラットフォーム上のモジュール化を行うにも、コードを書けないと実現できません。
システム間の連携は、C+や、JavaScriptのような主要言語のほかに、RPA開発の場面では次のような開発言語・スキルがあったほうがよいでしょう。
なお、内製ですべて開発ができるほど人員が潤沢な会社は少数なので、RPA導入企業では積極的に外注を使っています。
RPA開発においてあったほうが役に立つプログラミング知識とは?
RPA開発においては、業務側でも意識の高い人材が覚えるプログラミング言語と、本格的なエンジニアが使うプログラミング言語と、双方が役に立ちます。
前者は業務担当者側から、シナリオ開発に関して深い理解を持ち、エンジニアと適切にコミュニケーションができるようになるためにも、知識があったほうが良い言語で、特にVBA、HTMLやCSSが挙げられます。
必ずしも上級レベルの知識が必要ではありません。
また、後者はエンジニアがRPAツール開発に利用する言語です。人工知能=AIと、RPAの組み合わせを視野に入れて、C++やPythonなどの知識があると大変役に立つでしょう。
RPA開発でおすすめのプログラミング言語
マクロ&VBA
マクロはプログラミング言語ではなく、Excelの機能の一つですが、プログラムに近い近いコマンドを使うExcelの自動化技術です。
Excel上、数値の変換がマクロを使うと楽にできるようになるので、操作を自動化するRPAツールとマクロの組み合わせは便利です。
マクロを記述する言語が、VBAです。双方の違いは、Excelの機能か、それとも言語かです。
VBAはより正確に言うと、Visual BasicのExcel用の言語のことです。
マクロが組める、VBAがわかるというのはほぼワンセットの技能と言っていいのですが、VBAをコードから書けるレベルが上級・マクロが自由に使えるレベル、というと中級と考えるとわかりやすいでしょう。
マクロ・VBAができると、次のようなメリットが生じます。
RPAとの 組み合わせで できること |
Excel自動化 |
---|---|
楽になること | 操作に加えて 数値の変換が できるようになる |
楽になる場面 | 操作の自動化と、 数値の書換・転写が 必要になる場面。 出入力に使える。 |
本やWebページではRPAとマクロとの組み合わせ事例が多く紹介されています。そうした情報を参考にしつつ、活用の幅を広げられるようになります。
Access
Accessは、マイクロソフトのDBアプリであり、データを入力する際・出力する際によく使われています。
本質的には、一つ一つのデータを処理する際に、テーブル化して、一定の規則の下、データを整理できるということがメリットです。
言語ではありませんが、VBAプログラミングがわかり、DB知識があると自由に使うことができます。
AccessとVBAができると、次のようなメリットが生じます。
RPAとの 組み合わせで できること |
データの整理の自動化 |
---|---|
楽になる 理由 |
整理したデータの出・入力の 自動化に使える |
楽になる 場面 |
データの出入力が必要な場面。 数値の書換・転写も Excel同様に可能 |
HTML・CSS
HTML(HyperText Markup Language)やCSS(Cascading Style Sheets)はプログラミング言語ではなく、ウェブページを構成するための技術です。
ウェブブラウザはこれらの情報を読み込んで、ウェブページを表示させています。
これらの知識があると、Webページやブラウザで使用するWebアプリを自動化する際により効率よく情報を取得したり、ウェブページの構造を利用して繰り返し処理を行うなどできるようになります。
C++、Pythonなど
C++やPythonなどのプログラミング言語は、RPAツールだけでなく様々なアプリケーションの開発で利用されています。
これらのプログラミング言語やアプリケーション開発についての知識・技術があれば、RPAツールを使うだけでなく業務にあったシステムを開発できます。
しかし、RPAツールを扱うには必須ではありません。むしろこのような知識・技術がなくとも業務を効率化できることがRPAツールのメリットです。
こんな場面でもプログラミング言語の知識があると有利
ところで、RPA技術者には、ベンダー検定があります。
ベンダー検定ではRPA導入の上で必要となるRPAのシナリオを作成するスキルや特に中級~上級はトラブルシューティングスキルが問われます。
その中でも最も受験者が多いRPA技術者検定(WinActor 向け)の中級者向けエキスパートレベル試験もトラブルシューティングの実技を問われます。
プログラムをその場で作るということや、プログラミング言語のスキルを磨いておかないと受からないという程度ではありませんが、プログラミング経験者が受験をする場合は、準備にあまり時間がかからないという特徴があります。
プログラミング未経験者がプログラミングの経験者と同じだけの業務処理能力を付けることは不可能ではありません。
しかし、未経験者・経験者の違いはあり、プログラミング未経験者だと、中級相当のスキルを身に着けるのに経験者と比較して時間がかかりがちで、結局はプログラミングの基礎知識を付けるくらいの時間が必要になってしまいます。
結果、プログラミングの知識があったほうが有利になるでしょう。
RPAプロジェクトへの参加に資格試験が参考になりますので、スキル証明の場面ではプログラミングが有利になります。
0から開発に使えるプログラミング知識をつける方法は?
RPAを利用するのには、プログラミング知識は必須ではありませんが、プログラミングを知っておくと、より開発にとっては有益であり、個人のスキルとしてもアピール度が高くなります。
企業にとって、0からRPAエンジニアを育成することも、特にRPAの中小企業での導入の増加に伴って十分考えられる選択肢です。
人材育成のプログラムにRPA+プログラミングのカリキュラムを持っておくことは、採用のためにも今後プラスになると考えられます。
ゼロベースで始めたとしても、もしも時間をかけてRPA開発を学ぶ気持ちがあるなら、プログラミング知識をつけながら、RPA開発に親しんで徐々に実力をつける方法はあります。
こうした本格派学習・人材育成のために、おすすめの学習方法をいくつかご紹介します。
BOOTCAMP for RPA
ワイヤードパッケージが主催するキャリア学習プログラムで、ブートキャンプ形式により短期間でみっちりVBAプログラミングとRPAの開発を学ぶブートキャンプがあります。
コースは初級から上級まで3段階に分かれており、VBAやエクセルマクロの基礎から、RPAの開発手法・コンサルティングに必要な業務分析・業務改善の提案まで体系的に学ぶことができます。
VBAを基礎から学べてしかも代表的な製品であるUiPathを使い、ほぼ0から学べるものですので、キャリアアップのためにも、今後RPAに使える他のプログラミング言語も知るためにも役に立つ講座内容です。
また、VBAプログラミングの基礎がある程度わかっていると、初級のコースについて少し省くことができるなど、フレキシブルに学ぶことも可能です。
プログラミングの言語の幅を広げたい場合には、プログラミング講座で後から補充するとよいでしょう。
RPA講座とプログラミング講座の組み合わせ受講
RPAの初級~中級のベンダー提供の講座と、プログラミングの講座をWeb上で連続して受講することにより、力をつけることも可能です。
例えば、ベンダー提供の講座によりWinActorや、UiPathの初級をマスターし、VBAやPythonなどをUdemyの基礎講座で習得、さらにプログラミングスクールに通うといった少し時間をかけたスキル習得もおすすめです。
組み合わせ受講の場合は、自分でカリキュラムを考えなくてはならない点、心配な方もいるかもしれません。
この点は、RPAとプログラミングとそれぞれの初級をマスターしてから中級に進むようにすると、RPA開発スキルとプログラミングを並行して学ぶのに特に大きな問題はないようです。
社会人の学習は、ペースメーカーがあることや、試験を目標にするなど、区切りをつけないと、忙しいときなどは特に滞りがちになる傾向があります。
そんな時に、スクール・講座を活用すること、検定に直結しているベンダー提供の講座を受講しておくことなどにより、学習が続けやすくなりますし、また、比較的に無理なくスキルアップを図ることができます。
業界最安値&ユーザーフレンドリーな「MICHIRU RPA」
ここまで、RPAとプログラミング知識の関係性について解説してきました。
RPAの運用、保守、開発の場面においてはプログラミングの知識はあるに越したことはないといえるでしょう。
ただし、近年のRPAツールは簡易化され、エンジニアがいない企業でも導入することが可能になりました。
ここではその中でも、業界最安値、ユーザーフレンドリーな使用感が人気の「MICHIRU RPA」をご紹介します。
MICHIRU RPAの人気の理由は以下の通り。
- 業界最安値!月額5万円
- プログラミングの必要がないユーザーフレンドリーな使い心地
- 1アカウントでPC5台稼働することができるパワフルな性能
「エンジニアがいないから不安…」「プログラミングのスキルがある人材がいない…」
そんな不安が残る方のために、操作勉強会やリモートサポートが受けられるプランもご用意しています。
RPAの導入をお考えの方は、まずはMICHIRUまでご相談下さい。
記事まとめ
RPAを導入して利用するには、プログラミングの知識がないとダメ、絶対に必要ということはありません。
しかし、自動化の幅を広げ、会社での業務に最大限活用するにはあったほうが便利だといえるでしょう。
RPAツールはその性能自体が進歩しますし、シナリオ開発次第でできることが増えていきます。
リソースのない会社は派遣・外注をうまく使う必要はありますが、外注の工数や、コストを考えると、内部で人員を限って養成することも賢い選択です。
ぜひ、プログラミングで、RPAによる業務の自動化のメリットを最大限にしてみましょう。