人気ブログランキング | 話題のタグを見る
ExcelVBAのDoxygen出力
■目的
ExcelVBAのコードをDoxygenの文章として出力します

2014/07/04 以下に引っ越しました。
http://qiita.com/mima_ita/items/635d57cc277254900c6a

■前提条件
・マクロのセキュリティで [Visual Basic プロジェクトへのアクセスを信頼する]にチェックを付与する
Doxygenをインストールしてある

■仕組み
ExcelVBAのDoxygen出力_b0232065_3103513.png


ExcelからVBScriptを使用してCLSファイルとBASファイルを出力します。
この時、マクロのセキュリティで [Visual Basic プロジェクトへのアクセスを信頼する]にチェックを付与する必要があります

次にDoxygenファイルとVBFilterを利用してDoxygenを動作させます。
この過程でBASファイルやCLSファイルはC++のコードに変換されます。
VBFilterでは関数の中までは変換していないので、本来Doxygenで作成される関数のコールグラフなどは作成できません。
このことはデッドコードの検出には使用できないということを意味します。

作成したC++を元にHTMLを作成します。

VBFilterにはいくつか種類が存在しますが、今回は下記のものを使用しました
「だらろぐ」様 vbfilter.pyを改造してみた
http://r-satsuki.air-nifty.com/blog/2008/02/vbfilter_61f1.html


ExcelVBAのDoxygen出力_b0232065_3253581.png


■使い方
1.下記のファイルをダウンロードして任意のフォルダに展開してください
http://needtec.sakura.ne.jp/vba/VbaDoxygen.zip

2.ExcelVBADoxygenを実行することでDoxygen文章を作成します
第一引数:Excelのパス
第二引数:出力フォルダ
第三引数:doxygen.exeへのフルパス

例:
ExcelVBADoxygen "C:\dev\VbaDoxygen\Sample.xlsm" "C:\dev\VbaDoxygen\output" "C:\Program Files\doxygen\bin\doxygen.exe"

■ファイルの説明
Sample.xlsm テスト出力用のエクセルファイルです
output テスト出力の結果が格納されています
python27.dll     VBFilter.exeを動かすのに必要
w9xpopen.exe   VBFilter.exeを動かすのに必要
vbfilter.exe      VBFilter.pyをpy2exeでExe化したものです。
by mima_ita | 2013-05-16 03:26 | VBA
<< UTF8を表示するコマンドプロ... VBAのIntやFixはバグっ... >>



実験ですお

by mima_ita
検索
カテゴリ
最新の記事
.NET4.5におけるasy..
at 2014-07-02 00:46
.NETでTwitterを検..
at 2014-06-29 00:49
Redmineのプラグインで..
at 2014-06-28 03:29
IO.popenのwrite..
at 2014-06-28 03:25
RedmineのWikiでU..
at 2014-06-28 03:16
以前の記事
最新のトラックバック
その他のジャンル
ブログパーツ