Python × VBAで請求書作成を自動化

〜顧客マスタ・売上データ・VBA付き請求書ひな型を活用〜
はじめに
毎月の請求書作成を、PythonとExcel VBAを組み合わせて自動化してみませんか?
顧客情報と売上データを元に、Pythonで請求書を作成 → ExcelマクロでPDF保存 まで一括処理できます。
使用するファイル
| ファイル名 | 役割 |
|---|---|
顧客マスタ.xlsx |
顧客ID、会社名などを管理。Pythonで顧客判定に使用 |
売上データ.xlsx |
請求対象月の売上情報を記録 |
請求書_VBA.xlsm |
請求書ひな型:顧客ごとにシートを複製し、マクロでPDF保存可能 |
使用技術
-
Python
-
openpyxl: Excel編集 -
tkinter: GUI作成 -
datetime: 日付処理
-
-
Excel VBA(マクロ)
-
Pythonで出力されたシートを、マクロでPDF形式に一括保存
-
GUI画面の構成(Tkinter)
-
作成対象月をプルダウン選択(例:4月)
-
請求日をカレンダー形式で入力(YYYY-MM-DD)
-
「実行」ボタンで処理開始
👇 画面イメージ

実行の流れ
-
売上データを読み込み
-
選択した月の売上をフィルターし、顧客ごとに集計
-
-
顧客ごとの請求シート作成
-
請求書_VBA.xlsmのテンプレートを開き、 -
顧客IDをシート名として複製
-
顧客情報・請求明細・日付などを入力
-
-
PythonからExcelを保存
-
invoice_○月_VBA.xlsmファイルとして保存(マクロ付きファイル)
-
-
VBAでPDF出力(マクロボタン実行)
-
Excelマクロを起動することで、各顧客の請求書がPDFで出力保存
-
顧客IDごとにPDFが出力され、メール添付や印刷に対応
-
まとめ
この仕組みを使えば:
✅ 請求データの自動作成
✅ VBAで一括PDF出力
✅ 月末の請求作業を一気に効率化!

