【RPA】非エンジニアがUiPathで自動化ツールを作ってみた
RPAとは
Robotic Process Automationの略で、コンピュータ上の作業をロボットで自動化することを指します。
人間が行っていた操作をロボットが行うことで、コスト削減、人的ミスの削減、処理の高速化などが実現できます。
UiPathとは
UiPathはUiPath社が提供するRPAのプラットフォームです。
UiPath社は世界40か所以上に拠点を持ち(2022年6月現在)、日本法人も2017年に設立されています。
世界中に導入実績があるUiPathは、日本でもトップクラスの知名度を誇るRPAプラットフォームです。
StudioとStudioX
UiPath StudioとUiPath StudioXは、ロボットを開発するためのソフトウェアです。
UiPath Studioは、ビジネスユーザーからプロのRPAデベロッパーまで幅広い人を対象としています。
使いこなすためにはコーディング知識は必要ですが、より複雑な業務を自動化でき、大規模プロジェクトにも向いています。
UiPath StudioXは、コーディング経験のないユーザーでも業務を自動化できるよう作られています。
アクティビティと呼ばれる部品を開発画面上に並べることで、直観的にワークフローを作成することができます。
コーディング知識のない現場の業務担当者にも向いている一方で、Studioと比べて使える機能は制限されています。
今回私が使ってみたのはUiPath StudioXの方です。
やってみた
今日投稿されたブログをまとめるツールを作成
今日DevelopersIOに投稿されたブログ記事をExcelファイルにリスト化するツールを作成してみました。
1. ワークフローを決める
処理の流れ(ワークフロー)をざっくりと考えてみました。
- 前回保存したデータを削除
- ブラウザー(Google Chrome)を使用して、投稿一覧からデータをExcelファイルに書き込む
- Excelファイルにフィルターを設定して、今日の投稿のみ表示する
今回は条件分岐などないシンプルな処理を実装してみます。
2. 開発
プロジェクトを新規作成するとこのような開発画面が表示されます。
赤枠の部分にアクティビティを並べていきます。
今回作成したロボットがこちらです。
3. 実行
早速実行してみます!
開発画面上部の実行ボタンをクリックして処理を実行します。
独りでにブラウザーが開き、画面がするすると遷移して処理が進んでいきます。
開発画面の出力パネルにログが書き込まれ、処理完了時にはMainパネルの上部に「前回の実行は成功しました。」と表示されました。
データ出力用に作成したExcelファイルを確認すると、DevelopersIOに投稿された記事の情報がリスト化されています。
今日の日付(実行日の2022.06.28)でフィルターがかかっていることも確認できました。
やってみて気づいたこと
ノートブックが便利
ノートブックとは、プロジェクトを作成するとデフォルトで作成される設定用のExcelファイルのことです。
ここにあらかじめ値を設定しておくことで、処理中に呼び出して利用することができます。
今回はデータ出力用のExcelに書き込んだデータをフィルターで絞り込む際の条件設定に使用しました。
データ出力用のExcelファイルの「日付」列の値が、ノートブックに設定されている「今日の日付」と一致する行を表示する設定としました。
ノートブックに設定されている「今日の日付」
書式があっていないとフィルターがかからないので注意が必要です。
UIの要素認識に工夫が必要なことも
ウェブページから表データを抽出する際、複数ページにわたる場合は次のページに遷移するためのボタンを指定する必要があります。
このボタンクリックの操作が時々ずれてうまくいかないことがあるようです。
解決策として以下の方法が挙げられます。
アンカーを設定する
アンカーとは、UI要素を認識する手がかりとなる目印です。
近くにある別のUI要素をアンカーとして設定することで、対象の要素をより正確に認識することができるようになります。
ページ間の待機時間を設ける
ウェブページによってはページ遷移に時間がかかり、ページが表示される前に「次へ」ボタンをクリックする動作が発動してしまうため、ボタンクリックがうまくいかないこともあります。
そのような場合は、プロパティパネルからアクティビティ「「表データを抽出」のページ間の待機時間を設定することで動作が安定します。
やってみた感想
UiPathでの開発は楽しい
今回ツールを作成してみて、非エンジニアながらも楽しくツール開発ができました。
直観的に操作ができることに加えて、公式ページやその他ネット上の情報も豊富です。
わからないことがあっても調べながら進めることができました。
何より、自分で作ったロボットが動いているのを見るのは感動しました。
まずは公式チュートリアルで紹介されているプロジェクトを作成してみて、RPAツール開発の大まかな流れをつかむのもお勧めです。