Excel VBA Framework

Excel VBAの開発効率を向上させるフレームワーク

  • ソフト名 :Excel VBA Framework
  • バージョン :0.11β
  • ライセンス :フリーソフト
  • OS :Windows
  • 開発 :伊勢川 暁

ダウンロード

Excel VBA Framework詳細

◆「Excel VBA Framework」とは?

ExcelVBAで開発を行う際に、よく使う機能をフレームワークとしてまとめたものです。

大まかに言うと、(1)開発の効率化と、(2)保守性・拡張性の向上がこのフレームワークの売りです。

(1)毎回必要となる機能を共通化し、一部のコードを自動で生成できるようにすることで、効率的に開発ができるようになります。

また、(2)ワークシートの入出力やメッセージ出力を集約し、変更の頻度が高いスキーマ定義やメッセージをコードから分離することで、保守性・拡張性を向上させます。

◆Excel VBA Frameworkの機能

このフレームワークが持つ機能は、下記の通りです。

【1. スキーマ定義】

行番号・列番号の定義を、VBAのコードに固定で持つのではなく、スキーマ定義のシートに記載された値を動的に取得するようにしました。
これにより、スキーマ変更時のコードへの影響が少なくなります。

【2. データアクセスクラス(DAクラス)の自動生成】

各ワークシートのデータにアクセスする際に、Worksheetオブジェクトに直接アクセスするのではなく、データの入出力を管理するクラス(DAクラス)を作成し、そのクラスを通じてWorksheetにアクセスする方が保守性・拡張性が高まる上、入力チェックをする際にも便利です。
しかし、各ワークシートのスキーマに応じたDAクラスを準備するのはなかなか面倒くさいものです。
そこで、上記のスキーマ定義から、DAクラスを自動生成する仕組みを作成しました。

【3. 入力チェック(ゴミ処理)】

上記のDAクラスの中に自動で入力チェック(ゴミ処理)を組み込みました。入力チェックは、まだ汎用的なものしか実装していませんが、容易に拡張可能です。

【4. メッセージユーティリティ】

ユーザーに表示するメッセージを、VBAのコードに固定で持つのではなく、「メッセージ一覧」のシートに記載された内容を利用するようにしました。
ユーザーメッセージを一カ所に集中させることで、実装と同時に統一的なメッセージ設計が簡単にできるようになります。
また、適切にメッセージ設計をすることで、エラー発生時の対応がとりやすくなります。

◆ソースコード・ライセンス
ソースコードも公開しており、変更や有償での再配布も可能です(Apache License, version 2.0を採用)。

上記フレームワークは、未だ発展途上にあります。ご意見・ご要望等あれば、ご連絡ください。

Leave a Reply

メールアドレスが公開されることはありません。 が付いている欄は必須項目です