【Pythonを使ってRPAを無料で実現する】独学で身につけるPython〜応用編〜

RPAとは?
RPAとはRobotic Process Automation(ロボティック プロセス オートメーション)の略で、簡単にいうとパソコンで行う作業を自動化することです。
【初心者向け】RPAとは?簡単にわかりやすく説明!【事例・おすすめ製品】では、RPAに適した業務として以下が挙げられています。
今回紹介するこちらのUdemy講座を受講すれば、Pythonを使って上記の機能をすべて自作で実現できるようになります。
それも無料で!
独学で身につけるPython〜応用編〜【業務効率化・自動化で残業を無くそう!】
Pythonの各種ライブラリを使ってバックオフィスでよくある業務を効率化・自動化する方法を、オリジナルの演習課題も交えつつ実践的に学びます。日々の実務で"実際に使えるスキル"が獲得できます。難易度は初級+α程度ですのでお気軽にご受講下さい!
要するに、パソコンを使ってやる定型作業はほぼすべて自動化できるので、経理などの間接部門のみならず、倉庫現場の事務所で行っているようなデスクワークのかなりの部分を自動化でき、省力化のみならずヒューマンエラーの削減にも効果が期待できます。
それでは、この講座を受講することによって具体的にどんなことができるようになるのかを見ていきましょう。
マウス・キーボード操作の自動化
独学で身につけるPythonの基礎編やExcel自動化編ではExcel操作の自動化を主に扱いましたが、ここではExcelやWordなどの特定のアプリに縛られることなく、マウスやキーボードを使って行うパソコン上での一般的な操作(GUI)をPythonで自動化する方法を紹介しています。
使用するライブラリーはPyAutoGUIです。
例えば朝6時、皆さんはまだ出社していませんね。
でもPythonで自動化プログラミングを組んでおくことによって、朝6時になったらデスクトップ上にある業務システムのアイコンをダブルクリックして画面を開きIDとパスワードを入力、そして動態を知りたいコンテナのBL番号を入力して船が予定通り目的港に着いていることを確認して、得意先にそのステータスをメール送信するなんてことが自動でできてしまいます。
何でもかんでもデスクトップにファイルを保存してしまう癖のある人は、業務システムのアイコンの位置が変わってしまうかもしれませんが、大丈夫です。
アイコン画像の位置を探し出すこともPythonでできてしまいます。
ID・パスワードやBL番号の入力、船のステータス情報の取得については、基礎編の下記の講座でそのやり方が紹介されています。
独学で身につけるPython〜基礎編〜【業務効率化・自動化で残業を無くそう!】
Pythonの入門に最適なコースです。初心者にとって挫折の原因となる過剰な知識を除外した必要十分な基礎レクチャーに加えて、実務での活用を見据えた実践レクチャーも収録。業務を効率化したいならVBAやRPAより断然Pythonがオススメです!
メールの自動送信も後で出てくるやり方でできます。
つまりこの講座の基礎編と応用編を受講すれば、これらのことがすべてできてしまうのです。
デスクトップアプリの開発
データをExcelやAccessで管理しているけれども、ファイルへの入力画面はカッコいい画面にしたいという場合があります。
例えば社員の出退勤時間をExcelで管理している場合、各人にわざわざファイルを開いてもらって、、、なんてことは誰もしないでしょう。
Excel VBAを使って専用の入力画面を作るという方法もありますが、Excelファイルを開く必要があります。
そのような場合にOSのウィンドウを使えば、Excelなどのアプリケーションに依存せずに専用の入力画面を作ることができます。
そしてその中に入力ボックスやリストボックスやコンボボックスなどを配置して、入力値をExcelファイルに自動で書き込むことができます。
入力ボタンを押した時間を自動取得することもできるので、出退勤時間をExcelファイルに書き込むこともできます。
このようにしてPythonで作ったデスクトップアプリを各社員のパソコンにインストールしておけば、共有フォルダ上にあるExcelファイルに各社員の出退勤時間を自動で記録することができます。
この講座を受講することで、自分でこのようなプログラミングができるようになります。
使用するライブラリーはTkinterです。
PDFファイル操作の自動化
Webサイトからダウンロードしたり、取引先からメールで送られてきた大容量のPDFファイルの一部だけを再利用したいと思うことはありませんか?
例えば、倉庫の建築図面は通常Auto CADという製図ソフトで描かれていますが、普通のパソコンにはAuto CADはインストールされておらず開けないため、PDFで送付されるケースが多くあります。
その図面には数十ページあるけれども、マテハンメーカーに共有したいのは数ページだけという場合に、PDFファイルをページごとに分割できると便利です。
このようなPDFファイルの分割や、逆に複数のPDFファイルの結合をPythonで行うことができます。
またPDFファイルから必要な情報だけを抽出することもできます。
例えば、シッパーから送られてくるインボイスやパッキングリストがPDFファイルだと、その中の情報をわざわざ手入力で業務システムに打ち込む必要がありますね。
PythonでPyPDF2やpdfminer.sixというライブラリーを使えば、狙った情報のみを文字列データとして抽出することができます。
狙った情報を特定するのには、インボイス価格であれば例えば”Price:”からその後に続く”-“までの文字列を抽出するというコードを書きます。
Gross weightを抽出したいのであれば、パッキングリストの”Gross weight:”からその後に続く”kg”までの文字列を指定するという具合です。
シッパーごとにフォーマットは決まっているはずですので、それぞれのパターンに合わせたコードを書くことによってPythonで文字列の自動抽出ができます。
これと先に出てきたGUIの自動化を組み合わせれば、PDFデータを業務システムに自動入力することも可能になるでしょう。
チャットツールへのWebhook
ビジネスでSlackやTeamsなどのチャットツールを使われている方も多いと思います。
これらのチャットツールではメッセージを受信したらすぐにわかるので、何かのイベントが起きた時の通知機能として使えます。
Webhook(ウェブフック)とは、あるアプリケーションから別のアプリケーションにイベントを通知する機能のことで、通知先のアプリケーションとしてチャットツールがよく用いられます。
このWebhookは基礎編で出てきたAPIの簡易版のようなもので、チャットツールのAppメニューから申請することによって、通知先の扉にあたるWebhook URLを簡単に取得することができます。
後はSlackであればslackweb、Teamsであればpymsteamsというライブラリーを使って、Webhook URLを指定した上で自由なメッセージを自動で通知することができます。
適用シーンはいろいろ考えられますが、例えば倉庫でハンディターミナルを使った荷受けが始まったら、それをイベントとしてWMS(倉庫管理システム)からSlackで管理者に通知するなんてことも可能になります。
メールへの自動送信
このようにチャットツールへのWebhookは手軽にできてしまうのですが、メールへの自動送信はもう少しセキュリティが高くなります。
あなたのメールアドレスから自動送信するのであれば、あなたのメールアカウントのアプリパスワードを取得する必要があります。
これはGmailであればGoogleアカウントで2段階認証を設定すれば取得できます。
このアプリパスワードさえ取得すれば、後は相手のメールアドレスを指定することによって簡単にメールの自動送信ができます。
適用シーンとしては、業務システムから輸送ステータスを自動取得して、得意先にメールで自動送信するというようなことなどが考えられます。
まとめ
以上が独学で身につけるPython〜応用編〜の内容ですが、基礎編、Excel自動化編も一緒に受講すれば、専用のRPAツールを使わずとも、Pythonを使って同様の機能を無料で実現できてしまいます。
カスタマイズの自由度も高いため、管理人も自分でプログラミングして、誰も見たことのないようなユニークなRPAを自分の現場に導入してみようと思っています。
独学で身につけるPython〜応用編〜【業務効率化・自動化で残業を無くそう!】
Pythonの各種ライブラリを使ってバックオフィスでよくある業務を効率化・自動化する方法を、オリジナルの演習課題も交えつつ実践的に学びます。日々の実務で"実際に使えるスキル"が獲得できます。難易度は初級+α程度ですのでお気軽にご受講下さい!