WinActorシナリオ作成の基礎 Zipファイルを解凍し、複数のファイルを印刷する -後編-

今回は、「Zipファイルを解凍し、複数のファイルを印刷する 前編」の続きとして、
下記フローの5以降につき、シナリオ作成の解説をしていきます。

  1. 請求書発行システムにログインする
  2. 請求書を出力可能な画面に遷移する
  3. 請求書をZipファイルでまとめて出力する
  4. Zipファイルを解凍する
  5. 出力した請求書を開き、印刷する
  6. 処理が終わったファイルを削除し、4に戻る
  7. すべてのファイルを印刷したら、終了する

ファイルを1つずつ印刷する

前編では、Zipファイルをダウンロードし、特定のフォルダに解凍するまでのフローをご紹介しました。
続いて今回は、解凍された複数のExcelファイルを個別に印刷していきます。最初に、今回のフロー全体を下記に記載します。

なお、もし請求書がすべて1シートなのであれば、エミュレーション機能を用い、”Ctrl+Aでフォルダ内のファイルを全選択し、右クリック→印刷”を行うだけでもよいのですが、今回使用するクラウドERP「MA-EYES」から出力する請求書は「送り状」と「請求書」の2シートがあるので、個別に印刷するようにしています。

参考までに、本記事では以下を変数として使用しています。

変数名 内容
DLファイル解凍先 ダウンロードしたZipファイルが展開されているフォルダのフルパスを初期値に設定 前編でも使用
印刷ファイル名 印刷するExcelのファイル名

 

①無限ループを設定

ここで使うのはWinActorの初級研修で学ぶ、繰り返し+分岐のフローです。分岐の方で繰り返しを終了するので、繰り返しのプロパティは無限ループとなります。

無限ループについては過去の記事で触れていますので、そちらも参照ください。

②Excelファイル名取得

続いてライブラリ「Excelファイル名の取得」を用います。これは、フォルダ内の先頭にあるExcelファイルのフルパスを取得するライブラリです。処理を終えたExcelは削除され、次の繰り返しでは次のファイルが先頭に来ますので、それぞれのExcelに番号をつけて順次カウントアップしていくようなフローにはなりません。

③分岐

②で取得したファイルは、繰り返しの終了時に削除しますので、最後はファイルがなくなり、取得したフルパスも空欄になります。分岐では、Excelファイル名が格納された変数が空欄であれば、繰り返しを終了し、シナリオの完了に向けた処理に移行します。

④Excelを開く

ここは単純な自動化なので、簡単に記載します。

「Excelを開く(前面化)」でExcel(変数:印刷ファイル名)を開くことにより、以降にキーボードや画像マッチングで操作できる状態にします。
「ウィンドウ状態待機」を入れることによりExcelを開くまでの間に、後続処理が進んでエラーになる事を防いでいます。
「ウィンドウの最大化」以降にキーボードや画像マッチングで操作するため、最大化しておきます。

⑤キーボード操作

“Ctrl+P”で印刷画面を呼び出しています。画像マッチングやマウス操作でも可能ですが、ここではエミュレーションモードを採用しています。

エミュレーションモードはWinActorの基本操作の一つですが、実務的なシナリオ作成であまり使わない方もいらっしゃるかもしれません。WinActorライセンス付属のドキュメント“WinActor_初級編⑥_エミュレーションによる画面操作”に使い方が記載されていますので、知らない方は参照してください。

⑥ブック全体で印刷するための画像マッチング

“Ctrl+P”で印刷画面が開きますので、画像マッチングを用いブック全体を印刷する設定に変更し、印刷ボタンを押下しています。利用しているExcelのバージョンによって操作が多少異なるかもしれません。
参考までに、筆者が利用しているExcel2016では、下記の手順となっています。

⑦Excelを閉じて削除する

印刷を終えましたので、「Excel操作(保存なしで閉じる)」で印刷を終えたファイル(変数:印刷ファイル名)を閉じ、「ファイル削除」で削除します。削除しないと次の繰り返しで同じファイルが印刷されてしまいます。

また、動作の安定性を確保するために、前後に2つ、「指定時間待機」設置しています。1つ目は、印刷情報をプリンタに送信する前にファイルを閉じてしまうことを避けるため、2つ目は、Excelを終了させてから次の印刷用ファイルまでに時間を開けないとエラーが起こる可能性があるため、いずれも待機時間を3秒設けています。

⑧終了

最後に、全てのファイルが印刷し終わった分岐の後に「繰り返し終了」を挿入して、完了です。

 

以上が、「特定のフォルダに入ったファイルを先頭から印刷していき、すべて印刷し終えたら終了する」という自動化のフローとなります。

今回前編、後編にわたりご紹介した自動化は、「ダウンロードしたファイルを解凍する」「複数のシートがある複数のExcelファイルを、個別に連続で印刷する」というもので、様々な業務に活用できますので、参考にしてください。

(参考)完成動画

最後に、今回の解説では省略しているシステムからの請求書出力も含め、前後編あわせたフロー全体の実行動画を掲載しますので、参考にしてください。動画が長くならないように、請求書の印刷は2枚としています。

 

業務の自動化を実現する「WinActor」

WinActorは純国産RPAソリューションです。Excel、ブラウザ、業務システム等、Windows端末から操作可能なアプリケーションの操作をシナリオとして学習し、PC操作を自動化するソフトウェア型のロボットです。

WinActorで業務の自動化を実現しませんか?