「Excel+Yahoo! 路線情報」で交通費の自動精算ロボットを作ってみよう

2023年7月7日(金)
中村 行宏
第4回目の今回は、「Yahoo! 路線情報」サイトから交通費を自動取得し、交通費を自動精算するロボットを作成します。。
  1. 「str_費用」を選択後、[Ctrl]キーを押しながら[k]キーを押下すると、図51のようにString型の変数が作成されます。
    「str_費用」変数の型

    図51:「str_費用」変数の型

  2. 図52のように「Assign」アクティビティをドラッグ&ドロップし、それぞれ下記のように入力します。 str_費用
    System.Text.RegularExpressions.Regex.Match(str_費用,"(¥d+)").Value 右辺は、正規表現を利用して必要な情報(交通費)である「数字」だけを抽出しています。
    「str_費用」変数(正規表現より取得)

    図52:「str_費用」変数(正規表現より取得)

    補足ですが「System.Text.RegulationExpressions」がインポートされていない場合は、画面中央の[Imports]ボタンを押下し、「System.Text.RegulationExpressions」をインポートします(図53)。
    System.Text.RegularExpressions

    図53:System.Text.RegularExpressions

  3. デバッグ用にWriteLineアクティビティをドラッグ&ドロップし、Text欄には下記のように入力します(図54)。 “str_費用 = “ + str_費用
    (ダブルクォーテーション、イコール、プラス、アンダースコアは全て半角)
    「str_費用」(デバッグ用)

    図54:「str_費用」(デバッグ用)

  4. Toolboxで「close tab」と検索し、「Close Tab」アクティビティをドラッグ&ドロップします。その後、下記のように設定します(図55)。 ①Browser = “Chrome”
    ②CloseAll = True
    「Close Tab」アクティビティをドラッグ&ドロップ

    図55:「Close Tab」アクティビティをドラッグ&ドロップ

  5. Toolboxに「write」と入力して検索すると「Write Cell」アクティビティが表示されるので、図56のようにドラッグ&ドロップします(図 56①)。「Select Types」画面が表示されるので、プルダウンから「String」を選択します(図56②)。
    「Write Cell」アクティビティ

    図56:「Write Cell」アクティビティ

  6. 「…」をクリックして「交通費.xlsx」ファイルを指定し(図57①)、以下のように設定します(図57②③)。 ②Cell = “D” + int_行番号.ToString
    ③Value = str_費用
    「WriteCell」設定

    図57:「WriteCell」設定

  7. 最後に「Close Workbook」アクティビティをドラッグ&ドロップし、「…」をクリックして「交通費.xlsx」ファイルを選択します(図58①)。また「Save Changes」設定項目を「True」にします(図58②)。
    「交通費.xlsx」ファイルの保存

    図58:「交通費.xlsx」ファイルの保存

以上で、ロボットの作成は完了です。Save(保存)して、Play(実行)してみましょう。Webブラウザのレスポンスが遅くRPAがエラーになってしまう場合は、そのエラーが発生する前後で「Delay」アクティビティを使ってみましょう。

補足ですが、変数には日本語は使用せず、英語またはローマ字を使うことをお勧めします。本連載では、変数に日本語(例「str_出発」)を使っていますが、筆者の経験上、変数の数が多い場合や複雑なロボットを作成した場合など、至る所で日本語が文字化けし、その度に文字化け箇所を特定して修正しました。そのようなことが皆さんの環境でも起こらないよう、変数などでは半角英数字を使いましょう。

おわりに

今回は「Yahoo! 路線情報」サイトを活用して交通費精算を行うロボットを作成しました。この方法を覚えておくと、Webサイトから情報を取得する「Webスクレイピング」にも応用できると思います。また、変数についても、極力日本語は使用せずに、英語またはローマ字を使うことも説明しました。

次回(最終回)は、複数人が申請する交通費(複数のExcelファイル)を1つのExcelファイルにまとめる方法を解説します。

ライター
SIer にて、システム開発/構築や社内インフラを担当。その後、セキュリティベンダーに移り、セキュリティ診断(NW、Web、DB)に従事。また、本の執筆や講師も務める。
著書:図解即戦力 情報セキュリティの技術と対策がこれ1冊でしっかりわかる教科書、【イラスト図解満載】情報セキュリティの基礎知識

連載バックナンバー

システム運用技術解説
第5回

「Excel+Yahoo! 路線情報」で作成した交通費の自動精算ロボットを改良しよう

2023/8/10
最終回の今回は、前回作成した「Excel+Yahoo! 路線情報」の交通費自動精算ロボットを改良して、複数人の申請に対応できるようにしていきます。
システム運用技術解説
第4回

「Excel+Yahoo! 路線情報」で交通費の自動精算ロボットを作ってみよう

2023/7/7
第4回目の今回は、「Yahoo! 路線情報」サイトから交通費を自動取得し、交通費を自動精算するロボットを作成します。。
システム運用技術解説
第3回

「Excelのセル転記」ロボットでExcelの複数行読み取り+書き込みを体験しよう

2023/6/6
第3回目の今回は、前回作成したExcelの転記ロボットで、複数行の読み取りと書き込みを行なってみます。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています