自分はここ5年ほど、社内業務プロセスの自動化に取り組んでいます。(Windows環境)
始めは自身が担当する業務の「繰り返しの手作業」がどうしても面倒くさく、これをなんとかしたかった一心で、気づけば「RPA」のようなことをしています。
RPA (Robotic Process Automation)は、コンピューター上で行われる業務プロセスを人に代わり自動化する技術です。人間が繰り返し行うクリックやキーボード入力など定常的な業務が自動化できることから、仮想知的労働者(デジタルレイバー)とも呼ばれています。
https://www.uipath.com/ja/rpa/robotic-process-automation
##主な自動化ツール(いままで)
デスクトップの処理
VB.NET
Excelの処理
ExcelVBA
ブラウザの処理
iMacros
これらを使うことで(人の手作業に比べ)、大幅な処理の効率化・精度向上を達成できたものの、課題はそれぞれの処理が「別」な点、でした。
例
複数のExcelファイルをダウンロードする(iMacros)
↓
ダウンロードしたファイルをリネームする(VB.NET)
↓
リネームしたファイルを提出用のデザインに整形する(ExcelVBA)
↓
完了
処理がバラバラだと作業の手数が増えてしまうので、一括処理する仕組みを「Selenium + VB.NET」で構築しました。
これにより、VB.NETのフォームで「処理開始ボタン」を1回押すだけで、あとはVB.NETのコードに沿って、「ダウンロード」「リネーム」「Excel整形」の処理を一括でできるようになりました。
実は同じ処理を某RPAの開発ツールでも構築してみたのですが、うまく動いたり動かなかったりがあった一方、「Selenium + VB.NET」では動作の確実性が高いことも確認できたので、こっちのほうがもしかしたら良い筋なのかも(無料ですし)、と思ったりしています。(もちろんRPAツールへの習熟度が低かった、というのはあると思いますが…)
どこの職場にも日々繰り返すPC作業はあるかと思いますので、それを自動化するためのヒントになればと思い、自身が「Selenium + VB.NET」による自動化で学んだことを、ここに書きまとめていきたいと思います。