せっかく RPA を学習するなら、今の仕事だけではなく複業や転職につなげて、収入のアップを狙いたいと思いませんか? もちろん、王手 RPA に精通することで受託できる案件、転職を狙うことも可能でしょう。
しかし、あえて難しい道……つまり、プログラミングが必要な RPA を選ぶことで将来的にプログラミングができるエンジニア人材となることもできます。さらに、プログラミング言語に Python を選ぶことで、話題の機械学習や AI といった道も見えてきます。
この記事では、Python で RPA を作る理由、RPA とプログラミングを同時に学ぶメリットや、Python のインストール方法についてご紹介します。
- 多少困難な道でも、最高の結果がほしいやる気のある人
- 元々プログラミングができて、王手 RPA ツールのUIが馴染まない人
- Python を学習したいけど、ただ学習するよりすぐ役に立つ効果がほしい人
- RPA もプログラミングも全部やりたい、最高効率を出したい
- Python のAI機械学習本にいきなり手を出したけど、プログラミングが難しくて挫折した人
- 簡単に RPA を実現したい人
- アカデミックなプログラミングの学習を目指したい人
- AIや機械学習などの先端トピックにいきなり触れたい人
とくに、簡単に無料で RPA を作りたいという方には、当ブログでは Pulover’s Macro Creator の利用をお勧めしています。それぞれメリットがありますが、純粋に RPA を手早く簡単に作れるようになりたい方は以下の記事にまとめがありますので、参照してください。
何故 RPA と プログラミングを同時に学習すべきか?
何故、RPAとPythonのプログラミングを同時に学習するべきかを考える前に、RPA とプログラミングの違いを整理しておきましょう。
プログラミングとは
プログラミングとは、主にプログラミング言語を使って、コンピューターにさせたい動作をあらかじめ入力しておくことと言えます。もっと単純に言ってしまうと、ソフトやアプリを作成することがプログラミングと呼ばれます。
現在では、ノーコードプログラミングといって、プログラミング言語による動作の記述(コーディング)を行わないでソフトウェアの開発を行うこともできるようになっています。また、サーバーやOSを作成しているのもプログラミングです。
RPAとは
RPAとは、RPAツールを使って、ユーザーの代わりにコンピューターにさせたい動作をあらかじめ入力しておくことと言えます。
古くは、マクロツール、スクリプトによるマクロの作成と言われていました。ただ、おそらくですが、Microsoft の Officeに搭載されたVBA マクロと区別するために 、ビジネスの世界ではRPA という呼称が現在広く使われています。
どうでしょう? ほとんど違いがないことが分かりますね。というよりは、プログラミングでも RPA は作成できますし、簡単なアプリケーションの代わりなら、RPA でも作成できてしまいます(UWSCのように、GUI作成機能をもつマクロツールではアプリケーションを作成できます)。
でもこれでは分かりづらいので、RPA = マクロとして、それに対する意味としてプログラミングを捉えてみましょう。
マクロとは
辞書的に言うと、「巨大である、巨視的である」ということになります。理科的に言うと、目に見えるということになります。対義語はミクロとなります。
ミクロとは
非常に微細であること。または微視的であること。となります。
言葉の意味をまとめると見えてくる違いと共通点
この対義語をコンピューター世界のマクロと対比して、いわゆるプログラミングに当てはめてみると、「細かいところまで記載できるプログラミングに対して、目に見える大きな動作を記載するのがマクロ、RPAである」と言えます。
ですので、本質的にプログラミングとRPAに大した違いはなく、操作する領域の細かさが違うと理解しておけば問題ありません。
RPA も、必要とされる機能を全部備えたソフトを開発すれば大体解決しますよね? でもそうしないのは、細かいところまで全部プログラミングしていては大変で費用対効果、ROIが見合わないからです。その代わり、おおざっぱに人間の操作をRPAでプログラミングすれば、各種ツールを再利用できるので、効率がいいわけです。
でも、いつかは RPA では実現できない「細かいところ」、ミクロな部分を作りたくなるときが来るかもしれません。そのときに、プログラミングも同時に学習していれば大いに役立つでしょう。
何故、RPAを記述する言語にPythonを選ぶべきか?
Pythonは、RPAのために開発された言語ではありません。ここが、古くからあるマクロツールを利用するときの言語と大きく違う部分です。
そして、比較的新しい言語で、読みやすく、効率的なプログラムコードの記述をする文化や文法のある言語です。詳しい説明は省きますが、プログラミング言語の中でも、Pythonはインタープリタ型言語というものに細分化されます。そして、それまでのインタープリタ型言語は比較的、書く人が自由に、楽をしてプログラムを記述することを重視していました。その分、人によって大きく書き方が違うため、他人の書いたコードが読みづらいという問題がしばしばありました。
Pythonは楽に、効率的に開発できるインタープリタ型言語でありながら、読みやすく、他人のコードから学習しやすいこと。大きなプロジェクトでも使いやすいこともあって普及しています。
さらに、数値計算に広く用いられていて、データサイエンスから発展し、今日のAI開発にも広く用いられています。
つまり、Python で RPA を利用すると、データサイエンスやAI開発で用いられている技術を RPA 内でも活用できるという点が大きなメリットになります。とくに、画像認識のAIなどは発展分野なので最新の技術を取り込みやすいのは、プログラミング言語の利点です。
また、これらの「機能の取り込み」には、ライブラリという仕組みを用います。Python 自体の機能というよりは、Python で利用できる「機能の拡張」となっています。パッケージで提供される通常のRPA ツールとの違いがここにもあり、「ほしい機能、必要な機能」を自分で選べます。
そもそも、Python の RPA 自体がライブラリによる提供で、しかも Python で利用できる RPA ライブラリは1種類ではありません。自分の好みや必要な機能にあわせて利用できる RPA ライブラリも選べるというのが、 Python で RPA を記述する大きなメリットと言えます。
Python を学習することで複業や転職の道が開ける?
Python は、エンジニアの中でも近年最も高い人気を持つプログラミング言語の1つです。TIOBEインデックスと呼ばれる、プログラミング言語の人気ランキングでは、2021年10月に人気第一位を獲得しています(参考:「Python」が初の首位に、プログラミング言語の人気ランキング「TIOBEインデックス」)。
人気があるということは需要があるということで、
- 数値解析や統計、データサイエンスに用いられる人気言語
- もちろん、機械学習・AI開発などにも用いられ、最新の研究成果であるライブラリも豊富な言語
- 業務システムの管理用スクリプトとしても用いられる
- Webアプリケーション(サーバー側)の開発にも用いられている
- 各プログラミング言語をつなぎあわせるグルー言語として大規模開発にも使われる
と、八面六臂の大活躍をしているプログラミング言語です。
特に、データサイエンスやAIは、今注目度が非常に高いジャンルですのでPythonをマスターすることはこれらの領域に進出するチャンスと言えます。最先端のエンジニアとなるには、Pythonだけではなく数学なども必要になりますが、研究成果を利用する側であれば、そこまで高度な知識がなくてもライブラリは利用できます。
そうすると、エンジニア・プログラマーとしてだけではなく、プログラミング言語を操りながら戦略立案を行えるポジションも狙えます。財務はもちろん、マーケティング分野や製造など、現在のビジネスの世界でこれらと無関係な業種・職種はないと言えるので、Python を学習することで複業や転職の道を開くことは可能です。
RPA はプログラミング学習の役に立つ?
では、複業や転職を志すなら、別に RPA を学習しないでも Python を学習すればいいのでは? と疑問が湧きます。答えとしては、それは確かにその通りです。
ただ、プログラミングと RPA の違いで見た通り、プログラムは非常に細かい単位で動作を書いていきます。そこには、型やメモリ、スレッドといった、コンピューターの中の世界まで知らなければならないような部分も含まれます。ウィンドウを作成して表示する、といったことも、実は多くの工程が必要です。
やる気と時間、そして学習する目的に満ちていれば、ゼロからPython を学習していくのもそれほど苦痛ではないと思います。
しかし、多くの人は早く、役に立つ結果がほしかったり、動いているのを見て「楽しい」と思ったりする報酬が必要です。誰だって、「こんなのをやってて本当に仕事の役に立つの?」なんて思いながら学習したくはないと思います。
そこで、 RPA を構築しながら Python を学習することで、最初の苦しい「ルールの学習」を乗り越えて、Python の基礎をもった状態で本格的で専門的な領域に進出すれば少し遠回りするかもしれませんが、途中でも報酬が得られるのでモチベーションも維持出来ます。 RPA を作りながら、AI研究の成果をライブラリで取り込んで活用することもできます。
それに、エンジニア、プログラマになっても、実は RPA は役に立ちます。仕事をする以上、事務的だったりする、ちょっと面倒な作業が発生することはあります。たとえば筆者は、毎日グループウェアの新着を確認するのが面倒なので、自動で取得させて異常がなければ放置しています。Python で RPA の記述になれておけば、ちょっとでも面倒だなと思う作業をすぐにRPA化できるので、本格的なプログラミング学習に移行した場合でも無駄にはなりません。
Python のインストール
では、Python を Windows PC にインストールしてみましょう。
インストール方法は、動画もあり、下記のページが詳しいです。
ただ、インストールする Python のバージョンだけ、少し注意が必要です。
2021年12月4日現在、最新のバージョンのPythonは、3.10系となっています。ただし、最近に更新されたのは、3.9.9です。
プログラミングの世界ではよくあるのですが、先進的な機能を取り入れたバージョンと、長く使われていて安定しているバージョンが並行して開発が行われています(もっと古いバージョンのPython も、セキュリティ上の問題があればアップデートされます)。
最新の3.10系の Python は、 RPA 作成においても、デバッグ情報がより詳しくなるなど魅力的なバージョンとなっています。ただ、3.10系は2021年10月にリリースされたばかりで、バグが残っている可能性もあります。
安定をとる場合は、リリースから1年が経過している3.9系や、ネット上に情報の多い3.8系の最新版を入れるといいでしょう。とはいえ、 RPA の実行や学習段階では、ここ1年以内にリリースされたバージョンであれば大きな問題がおきることはほとんどないでしょう。
また、リリースから半年くらいたった、2022年の春以降にこの記事を読んでいる方は安心して3.10系をインストールできると思います。
最後に
最後に、この記事をまとめましょう。まとめると、
- 実はプログラミングと RPA に本質的な差はあまりない
- Python は現在非常に人気のある言語で、特に【仕事】で考えるとプログラマー以外にも魅力が多い
- RPA の作成でプログラミングを学べば、挫折するリスクを減らせる
- プログラマになっても RPA は使える
- インストールするバージョンは、最新すぎるバージョンは避けた方がいいこともある
となります。実際、Python はソースコード(プログラミングの記述)を無理矢理にでも綺麗にしてやろう、という意志が強く感じられるルールがあるので最初の言語としておすすめです。また、RPA ではない形で、Office系のソフト(ExcelやPowerpoint)を操作するライブラリもあるので、PCの操作を楽にするのにも、今注目のプログラミング言語となっています。
何より、筆者・経営コンサル見習いの立場からすると、機械学習・AI(深層学習)までいかなくても統計情報の取り扱いやすさが非常に魅力的です。もちろん、先進的な業務ツールにも、自社の売上などを分析する機能は付いていると思います。
一方で、Python を使うと、外部で公表されている統計情報などを活用するときに、Excel だとめんどくさいなぁと思う部分を自動化・定型処理できたりもするので学ぶ価値の大いにある言語だと思います。
1件のフィードバック