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関連

    [Office 2016]コマンド検索即実行、便利な「Tell Me」機能

    ※ 下記情報はOffice 2016 Preview版を元にしています…

  2. Office関連

    ZIP形式で圧縮・解凍を行うVBAマクロ

    この記事のように、処理の中でZIP形式のファイルを扱うことはありました…

  3. Office関連

    アクティブなページ上のシェイプを一括でグループ化するWordマクロ

    Msdn フォーラムにあった質問「複数図形のグループ化」の回答用に書い…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP