【UiPath】交通費検索ロボットをブラッシュアップしてみる(その1)

【UiPath】交通費検索ロボットを作ってみる

をベースに以下のような機能拡張をしてみたいと思います。


  • 検索オプション(料金が安い順、など)を外部ファイルから設定できるようにする

  • エラーハンドリング全般

  • 全国に複数存在する駅名を記入した場合の動作(例)赤坂、大手町など

  • 精算書に記入された金額と検索結果の金額に差分があった場合の動作

  • 路線検索結果をキャプチャ保存

1つずつ説明します。


検索オプション(料金が安い順、など)を外部ファイルから設定できるようにする

「設定マスタ」という外部ファイルを持たせることにより、ロボットの修正をせずとも設定を変えられるようにします。

今回は、交通費精算書の各項目の列位置、列番号、検索オプションなどを設定マスタに持たせます。


エラーハンドリング全般

前回同様、Yahoo!路線検索を使って交通費精算ロボットを実装していきます。

路線検索で起こりえるエラーをなるべく吸収したいので、今回はそのあたりを細かく実装します。

例えば、From:1234567 To:東京で検索すると「1234567」に該当する出発地はありませんでした。とエラーメッセージが表示されます。

ただ、このエラーが出たからといって後続の路線検索を中断してロボットを止めてしまうよりは、交通費精算書に記述された路線全部を一通り検索してあげたほうが使い勝手が良さそうです。

このように、エラーが生じた場合の後続処理は、ユーザーの使い勝手を考慮したうえでベストと思われる処理を実装します。


全国に複数存在する駅名を記入した場合の動作

交通費精算ロボットを作るうえで厄介なところです。

例えば、「赤坂」という駅名は東京だけでなく福岡にもあり、一意に駅を特定できません。

そのため、Yahoo!路線検索では検索ボタン押下後に駅名選択プルダウンが表示され、ユーザーに選択してもらう仕様となっています。

今回はその選択プルダウンを交通費精算書に貼り付け、ユーザーに一度差し戻すようにします。

一意に駅を選択してもらった後、再度ロボットを実行してもらう流れです。


精算書に記入された金額と検索結果の金額に差分があった場合の動作

すでに交通費が記入されていた場合は、その金額が正しいか(差分がないか)チェックを行います。

例えばFrom:新宿 To:東京の場合、最も安い金額の経路の場合は194円ですが、記入されている金額が300円となっていた場合、差分金額を記入するようにします。


路線検索結果をキャプチャ保存

ロボットがどんな路線検索結果をもとに料金を割り出したか後で分かるように、路線検索結果のキャプチャを保存するようにします。


完成イメージ動画


前提条件

デスクトップ直下に以下構成のフォルダ群を用意します。

(例)デスクトップ\交通費精算ロボット直下のフォルダ群↓

image.png


  • 01_テンプレート

    交通費精算書のテンプレートファイルを配置


  • 02_マスタ

    ロボットが参照するパラメータが記載された「設定マスタ」を配置


  • 03_交通費精算書

    ロボットが処理する交通費精算書を配置するフォルダ


  • 04_交通費検索結果

    ロボットの処理結果(路線検索結果の画面キャプチャなど)を配置するフォルダ



交通費精算書イメージ

image.png


設定マスタイメージ

image.png

次回から実装に入ります。