概要
本ドキュメントでは、UiPathに初めて取り組んだ際の学習体験と、
その後に実務で実装した 保険関連Webスクレイピング業務のRPA自動化について、
つまずきやすいポイント・設計上の工夫・エラー対処の観点から知見を整理する。
対象読者は以下を想定している。
- UiPathを触り始めたばかりの方
- Excel自動化やWeb操作で安定しないと感じている方
- 業務システム(社内DB・FileMaker等)とRPAを連携したい方
背景と目的
日々の定型業務(Excel処理・Web確認・社内システム入力)を効率化したいと考え、
RPAツールである UiPath に初挑戦した。
当初は「ローコード/ノーコードで簡単に自動化できる」という印象を持っていたが、
実際には以下のような課題に直面した。
- Excel操作での実行時間・安定性の問題
- UI操作の失敗や想定外エラーによる停止
- デバッグや原因特定に時間がかかる
一方で、試行錯誤を重ねることで
UiPathならではの設計の勘所が見えてきたため、
それらを体系化して共有することを目的とする。
Excel操作自動化で得た学び
専用アクティビティを前提に設計する
UiPathにはExcel専用アクティビティが豊富に用意されている。
- 範囲を読み込み(Read Range)
- 範囲に書き込み(Write Range)
- データテーブル操作
初期はセル単位でのループ処理を試したが、
大量データでは処理時間が著しく悪化した。
学び
- Excelは セル単位ではなくデータテーブル単位で扱う
- 可能な限り 一括読み込み → メモリ処理 → 一括書き込み
Excelはバックグラウンドで一度だけ開く
Excel操作を安定させるうえで重要だったポイントは以下。
- Excelアプリを画面表示せずバックグラウンド実行
- スコープ内で一度だけ開き、まとめて処理して閉じる
よくあった失敗
- 処理ごとにExcelを開閉 → エラー・ロック発生
- 自分が開いているExcelをUiPathが操作しようとして失敗
Excel特有のエラーと対策
| 事象 | 原因 | 対策 |
|---|---|---|
| ファイルが開けない | 手動で開いたまま | 事前にクローズ |
| Read Range失敗 | ハイパーリンク / 数式 | データ型確認 |
| プロセス残存 | 正常終了できていない | Kill Process(注意) |
エラー処理設計のポイント
Try Catch は必須
UiPathでは Try Catch を前提に設計しないと、
些細なエラーでロボットが即停止する。
基本構成
- Try:メイン処理
- Catch:例外捕捉・ログ記録
- Finally:後処理(Excelクローズ等)
初心者段階では System.Exception で一括捕捉でも十分有効。
エラー内容の可視化
エラーを「気づける形」で残すことが重要。
- exception.Message をログ出力
- 可能なら発生箇所も記録
- 重要業務ではエラー時スクリーンショット取得
Retry Scope の活用
UI操作やページ読み込みは一時的に失敗することがある。
- Retry Scope で数回再試行
- 一度の失敗で止めない設計
これだけで 実運用での停止率が大きく下がった。
デバッグとトラブルシューティング
デバッグ実行モードを使う
- 通常実行:高速だが原因不明になりやすい
- デバッグ実行:実行位置が視覚的に確認できる
Slow Step
- 実行速度を落とし、1アクティビティずつ確認可能
- 初学者ほど有効
ブレークポイントと変数確認
- ブレークポイントで任意位置停止
- Localsパネルで変数の中身を即確認
Message Box 多用より遥かに効率的。
ログメッセージの戦略的配置
- 分岐点
- ループ開始・終了
- 重要変数の値
※ 本番ではデバッグ用ログは整理・削除する。
ローコード/ノーコードの実情
「コードを書かない = 考えなくて良い」ではない
- どのアクティビティを使うかの判断が重要
- 知らないと遠回りする
結局コードが必要な場面はある
例:
- パス操作(System.IO.Path)
- 文字列加工
- 正規表現
- API連携
UiPathは VB.NETベースであることを理解すると応用が効く。
実行速度は人の操作再現である
- プログラムより遅い
- ただし人手よりは圧倒的に速い
- バックグラウンド実行が前提
実務:保険関連WebスクレイピングRPA
業務概要
- 各保険会社サイトから契約情報を取得
- 社内DB(FileMaker 契約MA)へ登録
- 手作業の情報収集・入力を自動化
実行環境
リモート接続
- 社内Windows端末上でUiPathロボット実行
- 開発・保守時のみSplashtop使用
セキュアWeb接続
- 社内ゲートウェイ経由でインターネット接続
- 認証情報は保存・アセット管理
社内DB
- FileMaker Pro
- 契約MA / 保険商品マスター
取得・登録データ
- 保険会社コード
- 契約番号
- 契約者・被保険者情報
- 商品名(社内標準名へ変換)
- 契約日・保険料
- 社内管理用項目(ANP等)
FileMaker操作上の重要ポイント
- レイアウト切替前に必ず検索で件数を絞る
- 警告ダイアログは出現パターンを把握して自動処理
- 条件分岐は「保険会社別マニュアル」に準拠
エラーと対処
FileMaker
- 全件表示 → フリーズ → 事前検索必須
- 環境差によるパスエラー → キャンセルで続行
ネットワーク
- タイムアウト → リトライ
- サイトメンテ → スキップ+ログ
セッション
- 認証期限切れ → 定期再ログイン設計
運用設計の工夫
- Orchestratorで定期実行
- 処理単位を細かく分割(会社別・契約別)
- 再実行耐性を前提に設計
- 失敗分のみ人手確認
まとめ
UiPathは「簡単そう」に見えるが、
安定した業務自動化には設計力が必要である。
しかし、
- 基本アクティビティの理解
- エラー・デバッグ前提設計
- 実務フローの分解
を意識すれば、
複数システムを跨る業務でも十分に自動化可能だと実感した。
これからUiPathに取り組む方は、
まず小さく作り、失敗から学びながら育てていくことをおすすめしたい。