ブックのプロパティ(DocumentProperty)を取得する|Excel一般 |
「作成者」や「最終更新日時」など、エクスプローラやブックを右クリックしたときに表示されるプロパティを取得する方法をご紹介します。
ブックのプロパティは、DocumentPropertyオブジェクトで扱います。
ブックのプロパティには、あらかじめ用意された「組込みのドキュメンントプロパティ」とユーザーが独自に設定できる「ユーザー設定のドキュメントプロパティ」があります。
前者はBuiltinDocumentPropertiesプロパティ、後者はCustomDocumentPropertiesプロパティで参照します。いずれもDocumentPropertiesコレクションを返します。
次のサンプルは、ブックに設定されたプロパティをメッセージボックスに表示します。
組み込みのドキュメントプロパティの中には、値が設定されていないものがあります。それらに対してValueプロパティを取得しようとするとエラーが発生するため、On Error Resume Nextステートメントでエラーを回避しています。
Sub Sample()
Dim myStr As String
Dim i As Long
With ThisWorkbook
'組込みのプロパティ(BuiltinDocumentProperties)
myStr = "[ BuilinDocumentProperties ]" & vbCrLf
On Error Resume Next
For i = 1 To .BuiltinDocumentProperties.Count
With .BuiltinDocumentProperties.Item(i)
myStr = myStr & .Name & ":" & .Value & vbCrLf
End With
Next i
On Error GoTo 0
'ユーザ設定のプロパティ(CustomDocumentProperties)
myStr = myStr & vbCrLf & _
"[ CustomDocumentProperties ]" & vbCrLf
For i = 1 To .CustomDocumentProperties.Count
With .CustomDocumentProperties.Item(i)
myStr = myStr & .Name & ":" & .Value & vbCrLf
End With
Next i
End With
MsgBox myStr
End Sub
ユーザー設定のドキュメントプロパティは、設定しなければ何も表示されません。
先にドキュメントプロパティを設定してからサンプルを実行してください。
手動でドキュメントプロパティを設定するには、次の操作で表示される[ブックのプロパティ]ダイアログボックスを使用します。ユーザー設定のドキュメントプロパティは[ユーザー設定]タブで「プロパティ名」「種類」「値」の組み合わせを設定します。
【Excel 2010】
[ファイル]メニュー→[情報]を選択し、画面右側の[プロパティ▼]→[詳細プロパティ]を選択
【Excel 2007】
[Office]ボタン→[配布準備]→[プロパティ]を選択。ドキュメント情報パネル上部の[ドキュメントのプロパティ▼]→[詳細プロパティ]を選択
【Excel 2003以前のバージョン】
[ファイル]メニュー→[プロパティ]を選択