HOME > 即効テクニック > > ファイル操作関連のテクニック > ブックのプロパティ(DocumentProperty)を取得する

ブックのプロパティ(DocumentProperty)を取得する|Excel一般

ファイル操作関連のテクニック

ブックのプロパティ(DocumentProperty)を取得する

(Excel 97/2000/2002/2003/2007/2010)

「作成者」や「最終更新日時」など、エクスプローラやブックを右クリックしたときに表示されるプロパティを取得する方法をご紹介します。

ブックのプロパティは、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以前のバージョン】
[ファイル]メニュー→[プロパティ]を選択