定数の名前や値を調べたい、そんなときはTypeLib Information(tlbinf32.dll)を利用することで調べることができます。
Option Explicit
Public Sub Sample()
'TypeLib Information(tlbinf32.dll)要参照
Dim ta As TLI.TLIApplication
Dim ci As TLI.ConstantInfo
Dim mi As TLI.MemberInfo
Set ta = New TLI.TLIApplication
With ta.TypeLibInfoFromFile("MSPPT.OLB")
For Each ci In .Constants
For Each mi In ci.Members
Debug.Print ci.Name, mi.Name, mi.Value
Next
Next
End With
End Sub
TypeLibInfoFromFileメソッドは引数にライブラリ(たとえばPowerPointの場合はMSPPT.OLBファイル)を指定します。
下記のようにクラス名を指定して調べることもできます。
Public Sub Sample2()
'TypeLib Information(tlbinf32.dll)要参照
Dim ta As TLI.TLIApplication
Dim mi As TLI.MemberInfo
Set ta = New TLI.TLIApplication
For Each mi In ta.TypeLibInfoFromFile("MSPPT.OLB") _
.Constants.NamedItem("PpSlideLayout").Members
Debug.Print mi.Name, mi.Value
Next
End Sub
OLE/COM Object Viewerを使うと簡単に一覧表示できるので、TypeLib Informationを利用したマクロを使う機会もなかなか無いかもしれませんが、“オブジェクト ブラウザで表示されるクラスのメンバーを書き出したい”、なんてときは役立つかもしれません。
■ 関連Webページ
- Office アプリケーションの組み込み定数の値を取得する方法
- http://support.microsoft.com/kb/239930/ja
- 取得サンプル: CLSNMMBR.EXE プログラムを使用します DLL クラスのメンバー
- http://support.microsoft.com/kb/172988
- Visual Basic: Inspect COM Components Using the TypeLib Information Object Library
- http://msdn.microsoft.com/en-us/magazine/bb985086.aspx
- Windows 2000 リソース キットのツールの管理タスク
- http://support.microsoft.com/kb/927229/ja
























この記事へのコメントはありません。