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

    選択中の図形の書式設定を一括変更するPowerPointマクロ

    PowerPointで複数の図形の書式を一つずつ変更するのが面倒だった…

  2. Office関連

    Office 365 APIをVBAから呼び出す(2)

    前回の記事ではOffice 365とAzure ADの紐づけを行いまし…

  3. Office関連

    [Excel Services ECMAScript]選択範囲が変更されたときのイベントを利用する。…

    埋め込んだExcelワークブックの、選択範囲が変更されたときのイベント…

  4. Office関連

    1MBのWordファイルって何文字くらい?

    ZIP圧縮されたOOXML形式のWordファイルって1MBだと何文字分…

  5. Office関連

    未読メッセージ数を取得するOutlookマクロ

    Outlook 2007で追加されたFolderオブジェクトのUnRe…

  6. Office関連

    64ビット環境かどうかを判別するVBAマクロ

    2年以上前にMicrosoft Community(当時はMicros…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

PAGE TOP