区分データ生成ツール

区分定義書の変更時、定数や列挙体、マスタの一部を手動で修正するような運用だと、抜け漏れや間違いが発生する場合があります。この辺の手間や間違いを低減するために、区分定義書から自動的に成果物を作成するExcelマクロを度々作る機会があるので、作成してみました。

説明

区分一覧に基づいて、列挙体クラスファイル、INSERTファイルを作成します。
列挙体クラスファイルとして、単一クラスファイル内に全ての区分列挙体を定義する集約クラス、区分列挙体毎にクラスファイルを作成する個別クラス形式のファイルを出力できます。

入力ファイル仕様(区分一覧)

区分一覧シートに各区分を定義することを想定しています。
グループ・グループ名は毎行に記載しても、1グループで1つのみの記載でも問題ありません。

列挙体クラスの生成仕様(集約クラス)

次のように全ての区分(列挙体)を含む単一のクラスファイルを作成します。
出力の内容は、テンプレートシートにある内容を修正することで変更できます。
区分一覧に例として記載されているユーザ種別、削除フラグの区分(列挙体)は、次のように単一ファイルに出力されます。

列挙体クラスの生成仕様(個別クラス)

次のように列挙体単位でファイルを作成します。
出力の内容は、テンプレートシートにある内容を修正することで変更できます。
区分一覧に例として記載されているユーザ種別、削除フラグの区分(列挙体)は、次のように個別のファイルに出力されます。

INSERT文の生成仕様

区分マスタとして次のテーブルを想定しています。

区分一覧に例として記載されているユーザ種別、削除フラグの区分は、次のように出力されます。
出力先フォルダやファイル名、テーブル名を指定可能です。カラム名を変更する場合はVBAを修正してください。
エンコーディングはUTF-8です。

使い方

ダウンロード

次の場所から「区分データ生成.xlsm」をダウンロードします。

区分一覧の準備

区分一覧シートに区分値を定義します。

条件を指定して実行

「区分データ生成.xlsm」を開き、データ作成シートにて各種の条件を指定し「区分データ生成」をクリックします。

カスタマイズ方法

列挙体ファイル

テンプレートシートにある集約クラス、個別クラスのテンプレートを修正してください。
次のプレースホルダを使用できます。

プレースホルダ説明展開例
$package$データ作成シートで指定したパッケージ名に展開されます。example.web.constants
$group_name$グループ名に展開されます。ユーザ種別
$groupグループに展開されます。UserType
$enums$列挙体の定義値に展開されます。
Admin(“管理者”,null,”10″),

INSERTファイル

INSERT文をカスタマイズする場合は、ModKbnCreateモジュールのCreateInsertFileプロシージャを修正してください。