広告
ExcelVBAを使って請求書一覧からデータを読み取り一気に印刷する自動印刷システムを作っていきます。
請求書自動印刷システム作りを通してExcelVBAを使用する前提でのマスターデータの作り方、大量なデータの一括処理方法、その時々によって個数が変化するデータの取り扱い方などを学んでいきます。
「ExcelVBAでプログラミング入門」の応用編になりますので、まだ終えてない方はそちらを先にご覧ください。
今回は請求書自動印刷システム作りの大まかな流れだけを説明したいと思います。
請求書そのものをExcelVBAでデザインするのはさすがに手間がかかりますので先にエクセル上で請求書の原型を作ってその内容をプログラムで書き換えていくような方式をとります。
請求書の原型
ExcelVBAでプログラムを組む時はこんな感じで、できるトコロはエクセルに任せて必要な部分だけをExcelVBAでプログラミングするようにするのが効率的かと思います。
いつも同じ状態のデータを同じように処理するだけなら話は簡単なのですが、実際はデータは常に変化します。
今回の場合だと送り先の件数は上下するし、請求する品目の数も変わるかもしれません。
ですのでそのあたりのプログラムの工夫がポイントとなってきます。
A社請求書
B社請求書
そんな前後するデータの個数などを調べるのには「Do While」関数を上手に使っていきます。
たとえばデータがある間は「Do While」関数で繰り返しをしつつ、その間カウント用の変数を用意してカウントをしてデータが途切れた時にループから抜けるみたいに使います。
広告
ただ印刷するだけなら思いのほか簡単にできます。
Worksheets("sheet1").PrintOut
Worksheets("sheet1").PrintPreview
これらを使います。
※そこにあるデータをそのまま印刷するだけなので事前に通常の印刷コマンドから正常に印刷できるかどうか確認した上で印刷してください
では次回より実際にプログラムを組んでいってみましょう!
広告
Copyright 2016 K.N/petitetech.com