Office関連

組み込み定数を列挙するVBAマクロ

定数の名前や値を調べたい、そんなときは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

TypeLib_01_01

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を利用したマクロを使う機会もなかなか無いかもしれませんが、“オブジェクト ブラウザで表示されるクラスのメンバーを書き出したい”、なんてときは役立つかもしれません。

TypeLib_01_02

■ 関連Webページ

Microsoftのサポートページに載っているファイルがリンク切れを起こしているときは?前のページ

EvernoteのノートをXML形式で保存するVBAマクロ次のページ

関連記事

  1. Office関連

    コンテンツコントロールに外部XMLのデータをマップするWordマクロ

    Word 2007で追加された機能「コンテンツコントロール」を使うと外…

  2. Office関連

    「最速攻略 Wordマクロ/VBA徹底入門」レビュー

    いつもお世話になっているExcel MVPの伊藤さんに9月20日発売予…

  3. Office関連

    漢字かな交じり文をひらがなにするマクロ

    Yahoo!のテキスト解析Web API(ルビ振り)を使用して、漢字か…

  4. Office関連

    各ページの各行の行頭と行末に文字列を挿入するWordマクロ

    Word文書の各ページに10行程度の文章があり、各行の行頭と行末に文字…

コメント

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

  1. この記事へのトラックバックはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP