広告

【VBA】【請求書自動印刷システム】1日目 請求書自動印刷の考え方

2022.10.10更新

【VBA】【請求書自動印刷システム】のタイトル画像になります

ExcelVBAを使って請求書一覧からデータを読み取り一気に印刷する自動印刷システムを作っていきます。

請求書自動印刷システム作りを通してExcelVBAを使用する前提でのマスターデータの作り方、大量なデータの一括処理方法、その時々によって個数が変化するデータの取り扱い方などを学んでいきます。

「ExcelVBAでプログラミング入門」の応用編になりますので、まだ終えてない方はそちらを先にご覧ください。

請求書自動印刷の考え方

今回は請求書自動印刷システム作りの大まかな流れだけを説明したいと思います。

請求書のフォームを書き換える

請求書そのものをExcelVBAでデザインするのはさすがに手間がかかりますので先にエクセル上で請求書の原型を作ってその内容をプログラムで書き換えていくような方式をとります。

請求書の原型の画像になります

請求書の原型

ExcelVBAでプログラムを組む時はこんな感じで、できるトコロはエクセルに任せて必要な部分だけをExcelVBAでプログラミングするようにするのが効率的かと思います。

データの変化に対応させる

いつも同じ状態のデータを同じように処理するだけなら話は簡単なのですが、実際はデータは常に変化します。

今回の場合だと送り先の件数は上下するし、請求する品目の数も変わるかもしれません。

ですのでそのあたりのプログラムの工夫がポイントとなってきます。

データの変化に対応させる為の説明画像1になります

A社請求書

データの変化に対応させる為の説明画像2になります

B社請求書

「Do While」関数を使う

そんな前後するデータの個数などを調べるのには「Do While」関数を上手に使っていきます。

たとえばデータがある間は「Do While」関数で繰り返しをしつつ、その間カウント用の変数を用意してカウントをしてデータが途切れた時にループから抜けるみたいに使います。

「Do While」関数を使ったデータの探索方法の説明画像になります

広告

印刷するには

ただ印刷するだけなら思いのほか簡単にできます。

印刷

Worksheets("sheet1").PrintOut

印刷プレビュー

Worksheets("sheet1").PrintPreview

これらを使います。

※そこにあるデータをそのまま印刷するだけなので事前に通常の印刷コマンドから正常に印刷できるかどうか確認した上で印刷してください

では次回より実際にプログラムを組んでいってみましょう!

次回

【VBA】【請求書自動印刷システム】2日目 ミニ請求書印刷システム

広告

Copyright 2016 K.N/petitetech.com