WSHなんかでCOMを扱うとき、OfficeかVB6をインストールしてるなら、オブジェクトブラウザが役に立つ。VC++があるならOLE Viewerもいいだろう。
でもこれらのツールは無償ではないので、VB6なりVC++なりもっていない場合はどうするかっていうお話。いくつか探してみた。
COM Explorer - Explore, Manage and Repair ActiveX Controls, DLL & EXE Servers
シングルライセンス $150の商用ソフト。VBA/VB6のオブジェクトブラウザよりは多分高機能。30days trialがあるみたい。
Win32OLE の製作過程よりDL可能
Ruby製のツール。Rubyインストールしてあるならこれでよいかと。動作もさくさくしてるし。
.NET Framework SDKをインストールするといっしょに入るコマンドラインユーティリティ。COMオブジェクトの.NETラッパーアセンブリを生成してくれる。使い方はSDKドキュメントを参照。
で、生成したアセンブリをVSのプロジェクトで参照するなりReflectorに喰わせるなりすればOK。
が、これはCOMのインターフェイスを提供してるDLL/EXEを知らないと使えないのであまりおすすめではないか。
たぶんこれ最強。なんかてきとーにプロジェクト作って、参照設定でCOMから追加すればOK。VBA/VB6のオブジェクトブラウザよろしく、インストールされているライブラリの一覧から選択して参照を追加するので、ライブラリの名前からあたりつけて必要な機能探したりとかもできる。
もちろん.NETアセンブリが作成されるのでReflector行きもアリ。
tlbimp/aximpで作成してもそうだけど、VBA/VB6のオブジェクトブラウザと違い、クラス/インターフェイスの継承関係も調べられるのでちょっと便利度が高いと思う。
セコメントをする