2016年1月11日月曜日

VBAのファイルを外部から読み込み実行

VBAのファイル、つまりはbas形式のファイルを読み込み実行する方法の解説

本来マクロ、VBAはExcelのブックファイルと強く結びついており疎結合感が全くない。
そのため、コードをエクスポートしてもなんか使い辛い。。。

外部からモジュールをインポートし実行することで実装のコードと実行環境であるExcelと分離が可能となる。この分離がもたらすメリットは大きい。
basファイルを愛用のテキストエディタで編集した後、Excel側でファイルの最新の状態を読み込み実行できるようになる。
強引な感じは否めないが。



①全てを標準モジュールに記述すると煩雑になるため、まず
モジュール、ファイルを操作するためのメソッドを提供するクラスモジュールを作成する。
クラス名はModuleImpoterとしました。
(PERSONAL.XLSBにモジュールを追加することを想定)




②標準モジュールを作成し、同一のモジュールが存在すれば削除した後、ファイルを読み込むようにする。



ざっとこんな感じかな。

注意点として、ファイルの読み込み関連で「microsoft visual basic for application extensibility」に依存があるので、予め参照設定する必要がある。

補完が効かなくても、どうしてもvimで書きたかった。。。
ただそれだけだった。。
でもgithubとかと連携させても面白いかも

以上!

0 件のコメント:

コメントを投稿