今回はWinAutomationで売上伝票を日ごとの売上金額を管理するための売上管理表に転記するプロセスを作成します。

あるシステム(ExcelやWeb、基幹システムなど)から他のシステムにデータをコピーする、ということはよくあります。

今回のプロセスを理解すると、そういった他システムへの転記の自動化に応用できるようになります。

 

完成品とサンプルの売上伝票ファイル、売上管理表ファイルはこちらに置いています。

 

今回使うファイル

売上伝票と売上管理表はそれぞれ↓のような感じです。

売上伝票 売上管理表

得意先ごと、売上日ごとに作成された売上伝票の金額を売上管理表の該当の日のレコードに転記します。

 

売上管理表のファイルを指定

それでは作っていきましょう。

まずは売上管理表のファイルを選択するダイアログを表示し、選択されたExcelファイルを起動します。

次に売上伝票が入っているフォルダを選択できるようにします。

売上伝票のフォルダを選択

「Display Select File Dialog」アクションでファイル選択ダイアログを表示できます。

同じく「Display Select Folder Dialog」アクションでフォルダ選択ダイアログを表示できます。

 

売上伝票の数だけ繰り返し

次に売上伝票が入っているフォルダを参照し、売上伝票を取得します。

「Get Files in Folder」アクションでフォルダ内のファイルを探しますが、その際にファイル名が”売上伝票”で始まるファイルのみを対象としています。(ワイルドカードの*を使っています。*は任意の文字列を表します。)

そして売上伝票の数だけ繰り返し処理をするためにループを用意します。

売上伝票の数だけ繰り返し

このループの中で売上伝票を1ファイルずつ開いて日付と金額を読み取り、それを売上伝票に転記します。

 

売上伝票の値を取得

まずは売上伝票ファイルを開いて売上年・月・日を読み取り変数%UriageDenpyoDate%にセット、

合わせて売上金額を読み取り変数%Amount%にセットします。

売上金額を読み取り

 

売上管理表に記入

そして売上管理表の読みとった売上日付と同じのレコードに金額を書き込みます。

ここでは売上管理表の4行目から34行目の日付をループで順番に参照し、売上伝票の日付と一致するレコードを探しています。

そして日付が一致した行に金額(変数%Amount%)を入力しています。

最後に売上伝票のExcelファイルを閉じています。

この一連の処理を売上伝票の数だけ繰り返すことになります。

該当の売上日の行に金額を入力

 

今回はここまでですが、実はこれで完成ではありません。

今の処理だと売上管理表の同じ日付に金額がすでに入力されている場合、金額が上書きされてしまいます。

余裕のある人は正しく動くようにチャレンジしてみてください。

 

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

 

ではまた。