Home » ワードマクロ・Word VBAの使い方 » プロパティを取得する-Document.BuiltInDocumentPropertiesプロパティ

プロパティを取得する-Document.BuiltInDocumentPropertiesプロパティ

対象:Word2003, Word2007, Word2010

「wordのプロパティを取得するためのマクロ」
という検索が行われていました。

Word文書のプロパティを取得するVBA(Visual Basic for Applications)マクロを探している方による検索です。

[スポンサードリンク]

プロパティを取得して、どうしたいのかがこの検索からはわかりませんが、以下のコードが参考になるでしょう。


▼Word文書のプロパティをイミディエイトウィンドウに出力するマクロ

Sub プロパティを取得する()

 Dim p As DocumentProperty

 On Error Resume Next

 For Each p In ActiveDocument.BuiltInDocumentProperties
  Debug.Print p.Name & ": " & p.Value
 Next p

End Sub

上記のマクロを実行するとイミディエイトウィンドウに、プロパティの名前と値が出力されます。

やっていることは、For Each ~ Nextループ文で、ActiveDocument.BuiltInDocumentPropertiesコレクションを順番に参照して、DocumentProperty.NameプロパティとDocumentProperty.Valueプロパティを順番に出力しているだけです。

プロパティ値がないときにエラーとなるのを避けるために、ループ文に入る前にOn Error Resume Nextしています。

結果は同じようなものですが、以下のようなマクロのほうが、コレクションとオブジェクトの関係が参考になるかもしれません。


▼Word文書のプロパティをイミディエイトウィンドウに出力するマクロ

Sub プロパティを取得する2()

 Dim i As Long
 
 On Error Resume Next
 
 With ActiveDocument.BuiltInDocumentProperties
 
 For i = 1 To .Count
  Debug.Print i & ": " & .Item(i).Name & ": " & .Item(i).Value
 Next i
 
 End With

End Sub

ちなみに、、
この記事を書く前に、新田順也さんのブログ「みんなのワードマクロ」で、似たような記事が公開されていないか「BuiltInDocumentProperties」を検索してみたのですが、ヒット件数は0でした。

新田さんのまわりではWord文書のプロパティを取得したいという要望はそれほどないためこういう記事はなく、このサイト・インストラクターのネタ帳の読者さんの場合にはこういものを必要とする方がいらっしゃるということで、読者層の違いを面白いなと思っています。

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » プロパティを取得する-Document.BuiltInDocumentPropertiesプロパティ

TrackBack:1

TrackBack URL
BuiltInDocumentProperties定数一覧 from インストラクターのネタ帳
対象:Word2003, Word2007, Word2010 Word文書のプロパティ一覧を取得するVBA(Visual Basic for Appl...
[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » プロパティを取得する-Document.BuiltInDocumentPropertiesプロパティ

「ワードマクロ・Word VBAの使い方」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.