業務・業界・技術
2022.1.25
RPA導入にプログラミング知識は必要?その理由と自動化業務におすすめの言語を紹介!
INDEX
多くのビジネスでは、同じ作業を繰り返すだけの業務が多く存在しています。これは作業を定型化した方が効率的だから生じているものです。
もし、これらの作業をプログラミング知識を身に付けなくてもロボットにすべて任せられるとしたら理想的ではないでしょうか。
今回はこのような「プログラミング知識がなくても業務を自動化できるか」「RPAの導入・運用にプログラミング知識が必要か、またその理由は何か」という悩みを本稿で解決します。
RPAとは
RPAとは「Robotics Process Automation」の略称で、ロボットによって業務プロセスを自動化することを意味します。
- RPAの種類
- RPA導入のメリット・デメリット
上記の詳細は以下の記事にて詳しく解説しています。
▼関連記事
RPAとは?注目される背景やメリット・デメリットをわかりやすく解説
RPA導入にプログラミング知識が必要な理由
RPAは、プログラミング未経験者でも実装可能であることがメリットとして挙げられることがありますが、実際の導入にプログラミング経験は必要です。
その理由をご紹介します。
理由①:効率的なRPAシナリオの作成にはプログラミング的思考が必要だから
プログラミング的思考ができなければ、効率の良いRPAシナリオは作成できません。
「プログラミング的思考」とは、一連の活動を実現するために、どんな機能をどのように組み合わせるとよいか、という思考のことです。
プログラムの三大要素は「順次」「分岐」「反復」であり、何かしらの作業をプログラム化する場合は、すべての処理をこの要素のいずれかを用いて表現する必要があります。このような考え方がプログラミング的思考です。
したがって、プログラミング未経験者では業務をプログラム的に分解できず、抜け漏れのない条件分岐やループ処理の実装ができない可能性が高いでしょう。
なお、プログラミング的思考に似たような言葉としては「ロジカルシンキング(論理的思考)」「コーディング知識」がありますが、意味は大きく異なります。
論理的思考は、物事を構造化して筋道を立てる考え方のため、プログラミング的思考よりも抽象度が高いです。
コーディング知識とは、先述の三大要素を大前提としたプログラム言語に関する専門知識のため、プログラミング的思考よりも具体度が高いです。
理由②:複雑な処理の実装にはコーディングが必要になるから
プログラミング未経験者がRPAを導入すると、最も効率の良いRPAシナリオを作成できない可能性が高いです。なぜなら、複雑な処理の実装にはコーディングが必要だからです。
複雑な処理とは「他プログラムとの連携」や「繰り返し処理、分岐、関数などの挿入」のことです。
RPAツールの中には外部プログラムと連携することで、さらに自動化の範囲を広げられるものがあります。連携できる外部プログラムの代表的な言語としては、Python、C#、VBAなどが挙げられます。
これらのプログラムはユーザーが画面上で視覚的に操作できないため、プログラミングスキルがなければ複雑な処理の実装は難しいでしょう。
理由③:プロジェクトの推進力に大きな差がある
プログラミング経験者(プロダクト開発経験者)と未経験者では開発プロジェクトの推進力に大きな差があります。なぜなら、プロダクト開発には効率の良い進め方が存在するからです。
システム開発系プロジェクトの進め方は「ウォーターフォール型」と「アジャイル型」の大きく2つがあります。
例えば、ウォーターフォール型では以下のようにフェーズを分けてプロジェクトを推進します。
No. | フェーズ名 | 解説 |
---|---|---|
1 | 企画・要件定義 | システムの目的、範囲、機能を策定する。 |
2 | 設計 | 要件の実現方法を設計する。 |
3 | 開発・実装 | 設計をコードに落とし込む。 |
4 | テスト | プログラムが正常に動作するかテストする。 |
5 | リリース | 一連のプログラムを実際の業務環境に適用させる。 |
6 | 保守・運用 | 不具合があった場合に適切に対処する。 |
こういった開発手法を知っているか知らないかで、プロジェクトの推進力は大きく異なります。
何かしらの組織やプロジェクトでプログラミングを経験している人の場合、このような知識があるためプロジェクトを進めやすいです。
有名RPAツールをカスタマイズする際に必要なプログラミング言語
有名なRPAツールを3つご紹介するとともに、それぞれのツールでカスタマイズする際に必要となるプログラミング言語をご紹介します。
WinActor:VBScript(難易度:★★★★★)
WinActorでカスタマイズする際に用いるプログラミング言語は「VBScript」です。
VBScriptとは、マイクロソフトが作ったVisual Basicの構文に似たプログラミング言語(スクリプト言語)です。
WinActorには、ステップインなどのデバッグ機能がないため、コードの随所にログ出力を仕込む必要があります。適切なログ出力には専門知識が必要のため、難易度は高いと言えます。
BizRobo!:Java(難易度:★★★★)
BizRobo!でカスタマイズする際に用いるプログラミング言語は「Java」です。
Javaとは、C言語をベースにして作られたプログラミング言語で、「write once, run anywhere(一度書けばどこでも実行できる)」という理念を実現していることが、最大の特徴です。
BizRobo!は、ドロップダウンメニューから利用する関数やオペレーターを選択可能のため、プログラミング初心者でも扱いやすい機能が備わっています。
しかし、正しい引数の数や文法を教えてくれる入力支援機能はないため、Javaの知識がある程度は必要です。
UiPath:Visual Basic.NET(難易度:★★★★★)
UiPathでカスタマイズする際に用いるプログラミング言語は「Visual Basic.NET」です。
Visual Basic.NET(VB.NET)とは、マイクロソフトが作ったオブジェクト指向言語です。Visual Basicにオブジェクト指向を追加し、.NET Frameworkに対応させた言語です。
UiPathの式エディターは、VB.NETのクラスや関数が表示されるようになっている親切な設計です。
Visual Studioとほぼ同じ環境で作業できるため、Visual Studioに慣れ親しんだ人は容易に使いこなせますが、Visual Studioの経験がない方やプログラミング初学者には難しく感じるでしょう。
RPA導入のためのプログラム言語を選定する基準
RPA導入または自動化を実現する際におすすめのプログラム言語を解説する前に、言語の選定基準を確認しておきましょう。
選定基準は以下の3つです。
ライブラリの豊富さ
ライブラリが豊富かどうかによって、実装コストに大きな違いがあります。
RPAツールとの連携可否
RPAツールから呼び出しができるプログラミング言語を習得すれば、自動化対象業務の幅が広がります。
RPAツール以外の外部ツールとの連携可否
GoogleスプレッドシートやExcelなどのRPAツール以外の外部ツールと連携が可能になれば、自動化対象業務の幅が広がります。
RPAや業務自動化におすすめのプログラミング言語
RPA導入または業務自動化を実現する際におすすめのプログラミングは、以下の3つです。
- Python
- Google Apps Script
- PowerShell
Python
Pythonは、近年非常に人気のプログラミング言語です。先述の選定基準の3つを満たしていることはもちろん、初学者でも比較的簡単に少ないコードで実装が可能なため、多くの開発現場で採用されています。
Pythonの代表的なライブラリとしては、Selenium、OpenPyXL、python-pptx、PyPDF2などがあります。また、対応しているRPAツールは「UiPath」「Blueprism」などです。
Google Apps Script
Google Apps Scriptは、その名の通りGoogleが提供しているJavascriptがベースのプログラミング言語です。
Google Apps Scriptの代表的なライブラリは、ChatWorkClient for GAS、SlackApp for Google Apps Scriptなどがあります。また、対応しているRPAツールは「UiPath」です。
PowerShell
PowerShellは、Windowsのフォルダやファイル操作などが行えるCUI(キャラクターユーザーインターフェース)です。
PowerShellの代表的なライブラリは、New-Item、Remove-them、Set-Locationなどがあります。また、対応しているRPAツールは「WinActor」「UiPath」などです。
RPA・スクレイピング・マクロの違い
RPAは、スクレイピングやExcelマクロと大きな違いがあります。具体的に異なる点は「自動化できる範囲」と「自動化の方法」の2つです。
Excelマクロの場合、Excel内のデータのみを対象に処理を実行しますが、RPAはExcel内のデータだけでなくGoogleスプレッドシートやCSVファイルなどのデータ加工処理が可能です。
またスクレイピングの場合は、HTML情報を解析して必要な情報を抽出しますが、RPAは画面上での実際の操作を自動化する形で必要な情報を抽出します。
プログラミング未経験者がRPAを導入するには
自社にプログラミング経験者が十分におらず、未経験者によってRPAを導入することになった場合の対処法をご紹介します。
プログラミング的思考を身につける
「RPAや業務自動化におすすめのプログラミング言語」で紹介した中から1つ選び、簡単な業務効率プログラムをいくつか作ってみましょう。
例えば、以下のようなプログラムは初心者でも比較的簡単に作成可能です。
- Pythonでスクレイピングプログラムを作成して営業リストを作成する
- Google Apps Scriptで定型文を任意のアドレスに自動送信する など
上記の内容であれば、Googleで検索するとソースコードをコピーペーストするだけで動くものが公開されています。コードを読みながら、プログラミング的思考を身に付けましょう。
RPAの勉強会に参加する
RPAベンダーによってRPAに関する勉強会やセミナーが定期的に実施されています。まずはその勉強会に参加して、必要な知識を習得することから始めましょう。
プロダクト開発手法を学ぶ
先述の「ウォーターフォール型」や「アジャイル型」などの開発手法を学びましょう。
どの開発手法にもメリットとデメリットがあります。
適切な開発手法の選定は初学者にとっては難しいですが、知らないよりは効率よくRPAを導入できます。
RPAツールの無料トライアルを試す
RPAベンダーによっては、一定期間の無料トライアルを設けています。そこでどんな業務を自動化できるのかを把握しましょう。
自動化対象業務のステークホルダーには、事前に相談してから導入するようにしましょう。自動化によって想定外の影響を受ける可能性があるからです。
以下にてRPA未経験者向けに独学の方法を記載しています。
▼関連記事
独学でRPAを学ぶ方法5選!未経験からRPAエンジニアにチャレンジ
まとめ
RPAを導入するだけならプログラミング知識は不必要ですが、実際に運用・活用することを考えるとプログラミング言語に関する知識は必須です。
これまでプログラミング経験がなかった人にとっては、高い障壁のように感じるかもしれません。
しかし、昨今ではDX推進企業が増えているため、プログラミング言語の習得によって社内で評価されるようになったり、副業で業務自動化案件に参画できるようになったりメリットが大きいと予想されます。
もしこれからプログラミングを勉強して、RPAやDX支援を副業やフリーランスとして行いたいと考えている方は、ぜひ弊社Liberty Nationをご活用ください。
Liberty NationではRPAやDX案件のご紹介をしています。短日勤務や完全リモートなど、さまざまな働き方の案件がありますので、興味のある方は以下のバナーよりご登録ください。