今回で「WinAutomationで作ってみるシリーズ – 交通費精算チェック」の最終回となります。

前回で交通費精算書の1明細だけ金額を駅探を検索してチェックするところまでできました。

今回は交通費精算書の全明細をチェックできるようにします。

 

処理概要のおさらい

WinAutomationで作ってみるシリーズ – 交通費精算チェックその1で作った図をもう一度確認します。

交通費精算書チェック プロセス概要

 

この通り、交通費精算書の明細を読み取るところから金額チェックまでを、明細行の数だけ繰り返します。

 

交通費精算書の明細行の数だけ繰り返す

まずは明細行の数を取得します。

交通費精算書の明細行の数だけ繰り返し

明細行の最初の行は8行目です。そこで最初に%Row%という変数に8を入れています。

また明細行の最初の行(8行目)の出発地の値も取得しています。

そしてLoop Conditionアクションを使って明細の行を順に下に見ていき、出発地が空白になる行を探します

繰り返し処理が終了した時点の%Row%から1を引いた値が最終行になるわけです。

Loop Condition

※Loop Conditionアクション

 

次にこれまで交通費精算書チェックその1~3で作成した処理を繰り返し実施するように修正していきます。

まずは交通費精算書チェックの処理をLoopアクションで囲みます。

駅探で検索しながら金額を比較チェック

Loopアクションはこんな感じ↓ End toに%Row – 1%を設定している理由は大丈夫ですね?

Loopアクション

※最後のEnd Loopアクションも忘れずに

 

対象の行を固定しない

これで明細行の最初の行から最終行まで行数だけ処理を繰り返すようになりますが、まだ正しく動きません。

実行してみると分かりますが、最初の行のチェックばかり行います。

これは交通費精算書の行を”8”で固定して実行しているためです。

Read from Excel Worksheet

この行の指定を明細の最初の行から最終行まで順に設定するように変更します。

お分かりかもしれませんが”8”の代わりに%LoopIndex%を指定すればOKです。

行に%LoopIndex%を指定

行に%LoopIndex%を指定

行に%LoopIndex%を指定

※ついでに開いたブラウザが残ってしまうため、毎回閉じるようにしています。(32アクション目)

 

お疲れさまでした。これで目的のものが完成しました。

でも実行してみるとうまく動かないかもしれません。

考えられる原因の1つに駅探で検索した時に入力した駅名の候補が複数存在する場合です。

この問題について是非、ご自身でチャレンジしてみてください。

完成品にはこの問題やその他細かい処理を追加しています。ご参考にしてみてください。

 

「ココがどうなっているのか分からない」「なぜこうしているのか?」など

質問があればお気軽にお問合せください。できるだけ分かりやすく丁寧に回答します。

「こんなシナリオを作って欲しい」というご要望も受け付けていますので、ぜひご一報を!

 

ではまた。