2013年03月01日

ACCESS以外のVBAファイル(*.xls, *.doc, *.ppt, もちろん *.mdb も)をデコンパイル(DECOMPILE) できるツールをようやく発見! Decompiles and Compacts: VBADecompiler !

・ツールのサイト
VBA Code Decompiler and Compactor

・AccessのMDBは 自分自身(Access.exe)でデコンパイル可能なんです
Access MDBのコンパイルをなかったことにする(デコンパイルの)方法: NN Space BLOG-NN空間ブログ 

Decompile or how to reduce MDB/MDE size and increase startup performance


だけど、Access以外のVBAで開発したファイル *.xls, *.doc, *.ppt には デコンパイルする方法、コマンドラインがありませんでした。
今まで何度かその方法を探してきましたが、そういった記事はなかなか発見できなかったのですがようやく本気で活用できるツールを見つけました。


今まではそういうツールがなかったから仕方なく、VBAのコンパイルで肥大化したファイルができてしまったら ソースコードとコンテンツを新規作成したファイルにコピペで移していたりしました。これはとても面倒な作業でした。

そもそも何でそういう作業を定期的にするのかといえば、VBAはコンパイルすると、コンパイル後のコードをファイルの中に保持するからです。しかもそれは特定のオフィスバージョンに最適化された状態のものも含まれます。
そうなると、たとえばEXCEL2003で開発したVBAが2010で不具合を発生したり、動作が遅くなったりします。

VBAではなく、CやJavaでいう「デコンパイル」は、ソースコード→機械語、中間言語 に翻訳されたものを「逆にソースコードに戻す」という意味で使うことが一般的です。

VBAの「デコンパイル」は そういう意味とは異なっており
ソースコード+コンパイルコード から コンパイルコードのゴミを取り除きすっきりさせ複数のオフィスバージョンで問題なく動作するための ファイルの保守メンテナンスのような行為です。

その結果としてファイルサイズも コンパクトになります。

たとえば自作のエクセルVBAマクロファイルでいえば、コンパイル後のXLSファイルが1.4MBですが、デコンパイルごは 900KB 程度になりました。

(細かい内容は リンク先の What It Means to Decompile and Compact in VBA や、
Advantage of Saving Decompiled and Compacted VBA Code を参照)


VBA開発者におすすめです。

ツールのダウンロードは↓をクリック
tool2013-03-01_223017.png


さらにこの人のサイト<Orlando's VBA and Excel Site>を覗いてみると
VBA MSGBOX WITH TIMER
MsgBoxT
なるものもソースコード付きで公開しており、とても勉強になる。

@2013/03/01 21:52 | Comment(0) | TrackBack(0) | 日記
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/63095695
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

・おすすめ楽天ショップ1:trendyimpact楽天市場店
・おすすめサプリショップ:iHerb.com
・おすすめ楽天ショップ2:上海問屋
Powered by さくらのブログ