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

2023年7月7日(金)
中村 行宏
第4回目の今回は、「Yahoo! 路線情報」サイトから交通費を自動取得し、交通費を自動精算するロボットを作成します。。

はじめに

前回は、Excelの複数行の読み取りと書き込みを行いました。簡単なものですが、RPA体験ができたのではないでしょうか。

企業内でも各部署でDX化が進み、交通費精算も自動化されている組織が増えてていると思われますが、今でもExcelで交通費精算をしている組織も数多くあるでしょう。そこで、今回は「Yahoo! 路線情報」サイトから交通費を自動取得し、自動精算するロボットを作成していきます。

【補足】今回も、交通費の自動取得を実行する前に、図1のようなExcelファイルを1つ、ご用意ください。
交通費.xlsx(「費用」列のみ“空白”)

事前準備ファイル

図1:事前準備ファイル

今回作成するロボットは、図2(右側)のように「費用」列に交通費を追記するロボットです。

事前準備ファイル

図2:ロボット実行前後

Excelから「出発」と「到着」を読み取るロボットの作成

それでは、まずはExcelから「出発」と「到着」を読み取るロボットから作成していきましょう。早速「Yahoo! 路線情報」から交通費を自動取得するロボットを作成していきましょう。

  1. OpenRPAを起動して図3のように「New」→「New Workflow」を選択し、任意の名前に変更します。そして、最後に「Save(保存)」します。
    「New Workflow」作成

    図3:「New Workflow」作成

  2. Toolbox内の検索フォームに「excel」と入力し、図4のように「Read Excel」アクティビティを「Sequence」内にドラッグ&ドロップします。
    「ReadExcel」アクティビティをドラッグ&ドロップ

    図4:「ReadExcel」アクティビティをドラッグ&ドロップ

  3. 「…」をクリックし、「交通費.xlsx」Excelファイルを選択します(図5)。
    Excelファイルの指定

    図5:Excelファイルの指定

  4. 「DataSet」型の変数名を設定します。ここでは「DataSet_交通費」としています(図6)。
    【補足】「DataSet」とはExcelシートとほぼ同義。
    DataSet型の変数名を設定

    図6:DataSet型の変数名を設定

    ここで「Sequence」名を「Sequence - 全体」に変更します(図7)。「Sequence」名を変更したのは、今後他の「Sequence」を作成するときに、同じ「Sequence」名だと区別できないためです。
    DataSet型の変数名を設定

    図7:Sequence名の変更

  5. 図6の「DataSet_交通費」を選択した状態で、[Ctrl]キーを押しながら[k]キーを押下すると、図8のように、DataSet型の変数が作成されます。
    DataSet型の変数を作成

    図8:DataSet型の変数を作成

  6. Toolbox内の検索フォームに「foreach」と入力し、図9のように「Foreach DataRow」アクティビティを「Sequence - 全体」内にドラッグ&ドロップします。
    「Foreach DataRow」アクティビティをドラッグ&ドロップ

    図9:「Foreach DataRow」アクティビティをドラッグ&ドロップ

  7. 図10のようにData Tableを設定します。設定は「データセット変数.Tables(“シート名”)」としたいので、この例では「DataSet_交通費.Tables(“Sheet1”)」になります。
    「Data Table」設定

    図10:「Data Table」設定

  8. 「WriteLine」アクティビティを「Foreach DataRow」内にドラッグ&ドロップします(図11)。
    「WriteLine」アクティビティをドラッグ&ドロップ

    図11:「WriteLine」アクティビティをドラッグ&ドロップ

  9. 図11のように「WriteLine」アクティビティのText項目を設定します。設定は「row(“列名”).ToString」としたいので、この“出発”例では「“出発 = “ + row(“出発”).ToString」とします。“到着”も同様に設定します。
    【補足】変数の後に「.ToString」を追加することで、その変数の型をString(文字列)型に変更します。 ここで、Save(保存)してPlay(実行)してみると、図12のように「Output」が表示されます(画面左下の「Output」ボタンをクリックすると「Output」を確認できます)。
    「Output」結果

    図12:「Output」結果

これで、Excelファイルから、「出発」と「到着」が「交通費.xlsx」に読み取れたことが分かります。続けて、「Yahoo! 路線情報」から交通費を自動取得するロボットを作成していきましょう。

ライター
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メルマガ会員のサービス内容を見る

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