QA@IT
«回答へ戻る

回答を投稿

るぱんです。

よくやる手としては、テンプレートファイル(30個の帳票)のテンプレートを作って
そこに対して30種類分の分岐を設けてやる方法なのですが、
それがNGであれば、VBだけでやるしかないですね。。。

まぁ、工数的にできたとしても、お客は理解できなくなりますけどね。
そういう意味で、要件定義で工数追加になりそう(笑)

それは、さておき本題。
今回みたいに、
・ページ制御
・データコピー

のような複数機能がある場合は一回切り分けてコメントだけで
コーディングすると頭の中が整理されやすいです〜。

まぁ、当初は帳票印刷・・・と言う感じで一くくりだったんでしょうけど。汗

コメントだけでコーディングの感触がつかめると、
設計力が抜群に上がったりします。

なんたって、コメントだけ修正すれば、最後にまとめて突貫工事で
ソースコードかけますから。

今回の例をとれば、



ver1
public Sub Test()
    '帳票印刷
End Sub



ver2
public Sub Test()
    '帳票印刷
        '1.データ取得
        '2.エクセル出力
        '3.ユーザー操作によるプリンター出力(以後ユーザー操作なので無視)

End Sub



ver3
public Sub Test()
    '帳票印刷
        '1.データ取得
            '1−1.ADO接続
            '1−2.結果取得
            '1−3.取得結果の整形

        '2.エクセル出力
            '2−1.テンプレート取得
            '2−2.データ書き込み
            '2−3.ページ制御

End Sub

こんな感じでいかがでしょ?

これやると、
大見出しの単位で関数作れるのでソースが整理できます。
頭を整理しながらやると、引数と戻り値もチェックできたりして、
保守性がさらにあがると思います。

めんどくさかったら分ければいいんです。
何より、混乱することがなくなりますんで。(笑)

投稿者:るぱん

るぱんです。

よくやる手としては、テンプレートファイル(30個の帳票)のテンプレートを作って
そこに対して30種類分の分岐を設けてやる方法なのですが、
それがNGであれば、VBだけでやるしかないですね。。。

まぁ、工数的にできたとしても、お客は理解できなくなりますけどね。
そういう意味で、要件定義で工数追加になりそう(笑)

それは、さておき本題。
今回みたいに、
・ページ制御
・データコピー

のような複数機能がある場合は一回切り分けてコメントだけで
コーディングすると頭の中が整理されやすいです〜。

まぁ、当初は帳票印刷・・・と言う感じで一くくりだったんでしょうけど。汗

コメントだけでコーディングの感触がつかめると、
設計力が抜群に上がったりします。

なんたって、コメントだけ修正すれば、最後にまとめて突貫工事で
ソースコードかけますから。

今回の例をとれば、


~~~


ver1
public Sub Test()
    '帳票印刷
End Sub

~~~




~~~


ver2
public Sub Test()
    '帳票印刷
        '1.データ取得
        '2.エクセル出力
        '3.ユーザー操作によるプリンター出力(以後ユーザー操作なので無視)

End Sub

~~~



~~~


ver3
public Sub Test()
    '帳票印刷
        '1.データ取得
            '1−1.ADO接続
            '1−2.結果取得
            '1−3.取得結果の整形

        '2.エクセル出力
            '2−1.テンプレート取得
            '2−2.データ書き込み
            '2−3.ページ制御

End Sub

~~~


こんな感じでいかがでしょ?

これやると、
大見出しの単位で関数作れるのでソースが整理できます。
頭を整理しながらやると、引数と戻り値もチェックできたりして、
保守性がさらにあがると思います。

めんどくさかったら分ければいいんです。
何より、混乱することがなくなりますんで。(笑)


投稿者:るぱん