MS-Wordのマクロ | MS-Wordマクロの利用方法、小規模組織向けMS-Office開発フレームワーク

本ブログではWordマクロを取り上げます。実務では、システム開発部門の手を煩わせるほどではない業務自動化・システム化ニーズが存在し、現場はExcelマクロ、Accessマクロで対応する傾向にあります。他方、Wordマクロは利用方法のディファクトスタンダードが確立されていない感があります。

我々は証券化案件管理に伴う契約書・書類作成にWordマクロを利用しています。これにより、Excelをワードプロセッサー代りに使う場合の制限及び微妙な不便さを解消しつつ、煩雑な反復作業を自動化しています。構成は次ぎの通りです。

  • Excelをユーザーインターフェース
  • Accessをデータベース
  • Excelマクロにビジネスロジックをコーディング(Excel固有の関数を優先的に使用)
  • 計算結果等をWord書込み・保存等

Wordマクロ

ここではWordを操作するマクロを説明します。

 

1. 環境設定

Excel VBA画面より、「ツール」>「参照設定」を選択します。

wordマクロ-2

参照可能なライブラリ ファイルから「Microsoft Word 14.0 Object Library」(又は最新のヴァージョン)を選択し、「OK」をクリックします。

wordマクロ-3

 

2. マクロ

VBAモジュールで、Word Application Objectを宣言、インスタンス化、Word Fileを宣言、既存のWordファイルを参照してインスタンス化します。

wordマクロ-4

Word File内のブックマークの内容を更新します。以下のサンプルコードでは、Excel worksheetのレンジ“TradeDate”の内容を、“xxxx年x月x日”の書式に変更して、Word File内のブックマーク“ExecutionDate”の箇所に上書きしています。書式変更にはExcel固有の関数を用いています。

wordマクロ-5

Word File内のブックマーク“ExecutionDate”の箇所

wordマクロ-6

変更したWord Fileを保存します。

wordマクロ-7

参考資料:
Word 2007 Macros & VBA Made Easy (Made Easy Series) (Guy Hart-Davis著)

 

3. オブジェクト指向コーディング

コード再利用を容易にするために、オブジェクト指向のコーディングを用いています。

参考資料:
Visual Basicによるビジネスアプリケーション開発―オブジェクト指向設計で作る3層C/Sアプリケーション (Programmer’s SELECTION) (Rockford Lhotka著)

 

4. 最後に

大手金融機関等(*)で、業務工程を洗い直し、定型業務をコンピューターに代替させ、創造的業務に集中する方針が示されています。この考え方は、少人数の組織、有限期間のプロジェクト等にこそ有効・不可欠と考えられますが、システム開発担当者に頼ることのできないことが想定されます。このような場合には、慣れ親しんだMicrosoft Officeを基にしたフレームワークが、現場での開発を容易にすると考えられます。

(*) 「ゴールドマン、IPO自動化努力が拡大 - 数千時間の人間作業が不要に」(ブルムバーグ、2017年6月14日): ゴールドマン・サックス・グループは、新規株式公開関連業務のやり方を検証して、法律やコンプライアンスに関するレビュー、定型書式にデータを記入した報告書の作成など、工程の半分がコンピューターで代替できると判断した。