MS-Wordのマクロ | MS-Excel VBAを中心とするフレームワーク
2020年6月28日作成
作成者:hach-gee
サンプルプログラムを基に、ExcelをUI、Excel VBAにビジネスロジック、及びAccessをデータベースに、出力をWordテンプレートに行うフレームワークを検討します。

1.前提
サンプルプログラムでは、以下のとおり、それぞれの役割、規定方法等を整理しています。
- ユーザーインターフェースにExcelを用いる
- ビジネスロジック等codingにExcel VBAを用いる
- データ入出力等はExcelシートを介して行う
- 入出力セルの指定に、絶対セルの代わりに、セルに名前を定義open_in_newして当該名前で行う
- CurrentRegionの振舞いopen_in_newを前提に、可変出力Paneを設計する
- VBAにオブジェクト指向設計を適用する
- バックエンドのデータベースにAccessを用いる
- 文書出力にWordテンプレートを用いる
- 出力用のテンプレートを準備する
- WordのRangeとTableを出力に用いる
2.ユーザーインターフェース
サンプルプログラムでは、Excelシートを介して入出力等操作を行います。
【入出力用シート】

【登録用シート】

3.データベース
データベースにはMicrosoft Accessを用いています。MySQL等ほかのデータベースに置き換えること、Excelをデータベースとして代用することも選択肢です。
【データベース概要】

4.文書出力用Wordテンプレート
ワードプロセッサーアプリケーションで業務用文書を作成する場合、ゼロから作成するより、何かしらのテンプレート(前回作成したファイル等)を基に、修正・加筆を行う場合が、実務上、大半を占めると考えられます。サンプルプログラムでは、Microsoft Wordで作成された請求書テンプレートを準備し、当該テンプレートにExcel VBAから修正・加筆を行い、請求先毎のものを完成させます。
以下は、編集記号を表示した状態の、①テンプレートWordファイル、及び②修正・加筆後のWordファイル(サンプル)です。
【テンプレート概要】

【修正・加筆後サンプル】

5.サンプルコード
以下のリンクよりサンプルコードをダウンロードください。
サンプルコード | |
関連記事
プロジェクト概要
慣れ親しんだMicrosoft Officeを基に、Excelマクロ、Accessマクロに加えて、Wordマクロを利用した開発フレームワークを検討します。