雛形ソースを作成し、Excelの仕様書を用意すると、プログラムのソースやテストデータを生成する方法について説明するシリーズ、「プログラムやテストデータを自動生成する方法」です。
インストールして、概要、DBの例を説明しました。
過去のものに関しては
ここ http://www.geocities.jp/xmldtp/index_zido.htm
にリンクしてあります。
今回から、動き方について説明してみたいと思います。
動き方を説明してしまえば、今はExcelで動いてますけど、仕様書をXMLやCSVにおとして、Javaとかでもかけると思います。
■動きの概要
まず、自動生成を行うときは、「ドキュメント生成」ボタンを押します。
こうすると、「マクロ」の、「標準処理」にかかれているSub shiyoToFile()が呼び出されます。
そのshiyoToFile()の内容はこんなかんじです。
Sub shiyoToFile() Dim gyo As Integer Dim hina_name As String Dim sh_name As String Dim out_name As String '//================================// '// 開始時の前処理(固有処理) // '//================================// Call initAppData '//================================// '//作業一覧に基づき出力(共通処理)// '//================================// gyo = sagyo_str_gyo Do While Sheets(sagyo_shname).Range(sagyo_hina_keta & CStr(gyo)) <> "" hina_name = Sheets(sagyo_shname).Range(sagyo_hina_keta & CStr(gyo)) sh_name = Sheets(sagyo_shname).Range(sagyo_sh_keta & CStr(gyo)) out_name = Sheets(sagyo_shname).Range(sagyo_out_keta & CStr(gyo)) Call makefile(hina_name, sh_name, out_name) gyo = gyo + 1 Loop '//================================// '// 終了時の後処理(固有処理) // '//================================// Call freeAppData MsgBox "終わりました" End Sub |
(上記< > ¥は、本当は半角)
■内容説明
1.はじめに、「initAppData」を呼び出し、前処理を行います。
→この関数は自分で自由にかけます。
2.作業一覧シートの一覧開始行(sagyo_str_gyo)から、
雛形が指定してある行が続く限り、
以下の処理(自動生成処理)を行います。
2-1.雛形と仕様書のシート名と出力ファイル名を取り出して
2-2.実際に自動生成処理(makefile)を行います。
2-3.次の行へ
3.自動生成が終わった後で「freeAppData」を呼び出し、後処理を行い
→この関数は自分で自由にかけます。
メッセージ「終わりました」を出して終了します
■というわけで
この自動生成は、
・前処理
・自動生成
・後処理
というかたちで、前処理と後処理は関数名はきまっていますが、中身は自由に書くことが出来ます。
って、今回は、たいしたことはなかったのですが、次回から、核心の自動生成部分に少しずつ入っていきます。