TOPシステム開発> 【楽々デブドックを書こう!】ドキュメント作成の技> 第2回:マクロを使用した開発ドキュメントの自動生成 (1/3)

ドキュメント作成の技

【楽々デブドックを書こう!】ドキュメント作成の技

第2回:マクロを使用した開発ドキュメントの自動生成

著者:ビズモ 榎 孝次

公開日:2008/02/12(火)

Excelのマクロの準備

本記事では、Excelによって開発ドキュメントを作成する際に役立つワザを紹介していきます。今回はExcelマクロ(VBA)を使用したドキュメントの自動生成と開発ドキュメントからソースコードの自動生成について解説します。はじめにマクロの概要と準備について簡単に紹介していきましょう。

Excelマクロ(以下、マクロと表記)は指定したセルの値を編集したり、セルの値に追加処理を行ったりできる機能です。自動記録機能が付いており、操作した内容をトレースしてマクロにしてくれます。後は繰り返しや判断処理を追加する程度で、簡単なプログラムができあがります。

それではマクロを使用するためのエクセルの設定をしていきましょう。Excel 2007とそれ以前のExcelではUIがまったく変わってしまったので両方について説明しておきます。

Excel 2003(以前)の場合は「ツール → マクロ → Visual Basic Editor」を選択します。

作成したマクロを使用する際には、「ツール → マクロ → セキュリティー」を選択し、表示された画面でセキュリティレベルを「中」に設定します。セキュリティ警告が表示されますので「マクロを有効にする」ボタンでマクロを使用可能にしてください。

Excel 2007の場合は、初期インストール時にはマクロのメニューがありません。Excel左上段のOfficeボタンをクリックして、右下にあるExcelのオプションを選択します。基本設定のExcelの使用に関する基本オプションで、「[開発]タブをリボンに表示する」をチェックしてください。

作成したマクロを使用するには、「開発 → マクロのセキュリティ」を選択し、マクロの設定から「警告を表示してすべてのマクロを無効にする」を選択してください。「セキュリティの警告マクロが無効にされました」が表示されるので、「オプション → このコンテンツを有効にする」に設定しマクロを使用可能にしてください。

これで準備はできました。それではどのあたりまでドキュメントをマクロで制御できるか見ていきましょう。

マクロ対象 開発ドキュメント名 効率化
ER図
テーブル一覧
テーブル定義書
画面一覧
画面項目定義書
SQL定義書
帳票一覧
帳票項目定義書
業務ロジック定義書
単体テスト仕様書

表1:開発ドキュメント(抜粋)

開発ドキュメントにマクロを使用するために

さてマクロ機能を使用して、開発ドキュメントの自動生成を作成していく前に、開発ドキュメントのフォーマットを確定しておく必要があります。

マクロは基本的にセル単位を処理の中心としているため、フォーマットが変更になるとマクロにも影響が及ぶことになります。もっともあらかじめセルの変更を考慮してマクロを作成しておけばよく、そのあたりはマクロ作成者の腕の見せ所にもなるでしょう。

ドキュメントには、一覧の定義書と各定義書を1つのブックで管理しているもの、各定義書内に複数シートで管理しているもの、各定義書をブックごとに管理しているものがあります。複数シートで各定義書を管理しているとブック自体が重くなり、目的の定義書を探し当てるのにシートをめくり続けなければならなくなるので、筆者の場合は定義書をブックごとに分けて管理しています。

開発ドキュメントとしては、開発プロセス上のフェーズごとに多種多様な定義書があり、ユーザ要件やベンダー都合により、要・不要があるとは思いますが、表1の定義書についてはシステム開発で必要なドキュメントであると思います。では次に、これらのドキュメントについて、マクロを使用した自動生成、または開発のためのソースを生成していく機能について解説してきます。 次のページ




株式会社ビズモ  榎 孝次
著者プロフィール
株式会社ビズモ 榎 孝次
シニアマネージャー
1981年からシステム開発に携わりCOBOLからJavaまで多彩な設計&開発経験を経て、現在はマネージャーの立場として開発に従事しているかたわら、プロジェクト管理や開発効率化を考えエクセルで管理&処理できるものはマクロで解決するマクロ好き。また社内システムであるプロジェクト案件管理や売上管理等も構築。
http://bizmo.co.jp/


INDEX
第2回:マクロを使用した開発ドキュメントの自動生成
Excelのマクロの準備
  メニューボタンによる管理
  開発のための自動生成について