Hatena::ブログ(Diary)

面倒、死のう

2008-09-20

AccessとかExcelでVBAのソースを一括でテキストに書き出す

| 14:49

やっと見つけた。なかなかググっても無いですね。

対象はAccess/Excel2000。それ以降は確認できず。てゆうか既に搭載されてますかね?

とりあえず、わかってる人対象なのでご利用は自己責任で。(たいした事やってないけどね)

  1. あぁ、なにをしたいのか説明。

 AccessやらExcelで作ったモジュールとかマクロとか言われる類のプログラムソースを

 テキストファイルに一括で吐き出すためのVBAプログラムです。(マトリョーシカ的な)

 通常はプロジェクトエクスプローラから選んで1つずつエクスポートするか

 1つずつドロップするかしなければいけませんが、これでびしゃーーっと吐き出してくれます。

 多分。

 お好きなエディタで編集することが可能になります。

  1. 使い方

 参照設定で[Microsoft Visual Basic Application Extensibility]をチェック

 以下のコードを吐き出したいコードのたまったMDBやらXlsやらに食わせます。

 出力パスは適当に。

 おもむろにF5殴打。

 出力。

 拡張子とか面倒。

 セキュリティ警告?ウィルスにかかってるんじゃね?

以下Access

Sub subExportAllModuleforAccess()
    
    Dim vbcComp As VBIDE.VBComponent

    For Each vbcComp In Application.VBE.ActiveVBProject.VBComponents
       Debug.Print vbcComp.Name, vbcComp.Type
       vbcComp.Export ("c:\20080920\" & vbcComp.Name)
    Next vbcComp
End Sub

以下Excel

Sub subExportAllModuleForExcel()
    
    Dim vbcComp As VBIDE.VBComponent

    For Each vbcComp In ActiveWorkbook.VBProject.VBComponents
       Debug.Print vbcComp.Name, vbcComp.Type
       vbcComp.Export ("c:\20080920\" & vbcComp.Name)
    Next vbcComp
End Sub

Accessマクロ(モジュールじゃないほう)で同様に悩んでる人は

http://www.accessclub.jp/bbs2/0018/beginter06075.html

なんかを見て、マクロモジュールに一括変換するのも

あわせてみるとしやわせになれる。

おれはなれた。

Connection: close