連載 [第4回] :
オープンソースのRPAツール「OpenRPA」でDXを体験してみよう!「Excel+Yahoo! 路線情報」で交通費の自動精算ロボットを作ってみよう
2023年7月7日(金)
第4回目の今回は、「Yahoo! 路線情報」サイトから交通費を自動取得し、交通費を自動精算するロボットを作成します。。
はじめに
前回は、Excelの複数行の読み取りと書き込みを行いました。簡単なものですが、RPA体験ができたのではないでしょうか。
企業内でも各部署でDX化が進み、交通費精算も自動化されている組織が増えてていると思われますが、今でもExcelで交通費精算をしている組織も数多くあるでしょう。そこで、今回は「Yahoo! 路線情報」サイトから交通費を自動取得し、自動精算するロボットを作成していきます。
【補足】今回も、交通費の自動取得を実行する前に、図1のようなExcelファイルを1つ、ご用意ください。
交通費.xlsx(「費用」列のみ“空白”)
今回作成するロボットは、図2(右側)のように「費用」列に交通費を追記するロボットです。
Excelから「出発」と「到着」を読み取るロボットの作成
それでは、まずはExcelから「出発」と「到着」を読み取るロボットから作成していきましょう。早速「Yahoo! 路線情報」から交通費を自動取得するロボットを作成していきましょう。
- OpenRPAを起動して図3のように「New」→「New Workflow」を選択し、任意の名前に変更します。そして、最後に「Save(保存)」します。
- Toolbox内の検索フォームに「excel」と入力し、図4のように「Read Excel」アクティビティを「Sequence」内にドラッグ&ドロップします。
- 「…」をクリックし、「交通費.xlsx」Excelファイルを選択します(図5)。
- 「DataSet」型の変数名を設定します。ここでは「DataSet_交通費」としています(図6)。
【補足】「DataSet」とはExcelシートとほぼ同義。 ここで「Sequence」名を「Sequence - 全体」に変更します(図7)。「Sequence」名を変更したのは、今後他の「Sequence」を作成するときに、同じ「Sequence」名だと区別できないためです。 - 図6の「DataSet_交通費」を選択した状態で、[Ctrl]キーを押しながら[k]キーを押下すると、図8のように、DataSet型の変数が作成されます。
- Toolbox内の検索フォームに「foreach」と入力し、図9のように「Foreach DataRow」アクティビティを「Sequence - 全体」内にドラッグ&ドロップします。
- 図10のようにData Tableを設定します。設定は「データセット変数.Tables(“シート名”)」としたいので、この例では「DataSet_交通費.Tables(“Sheet1”)」になります。
- 「WriteLine」アクティビティを「Foreach DataRow」内にドラッグ&ドロップします(図11)。
- 図11のように「WriteLine」アクティビティのText項目を設定します。設定は「row(“列名”).ToString」としたいので、この“出発”例では「“出発 = “ + row(“出発”).ToString」とします。“到着”も同様に設定します。
【補足】変数の後に「.ToString」を追加することで、その変数の型をString(文字列)型に変更します。 ここで、Save(保存)してPlay(実行)してみると、図12のように「Output」が表示されます(画面左下の「Output」ボタンをクリックすると「Output」を確認できます)。
これで、Excelファイルから、「出発」と「到着」が「交通費.xlsx」に読み取れたことが分かります。続けて、「Yahoo! 路線情報」から交通費を自動取得するロボットを作成していきましょう。
連載バックナンバー
Think ITメルマガ会員登録受付中
Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。