如何用vba获取excel文件的属性值?

 

excel文件的高级属性可以有文件的创建时间、修改时间、访问时间、标题、主题、作者、上次保存者、关键词等,其中创建时间、修改时间等属于内置的属性,而办公室、编辑者等则属于自定义属性。

 

如下图所示:

 

 

 

 

在vba中可以使用Workbook对象的BuiltinDocumentProperties属性获取上述的内置属性的值,使用CustomDocumentProperties属性可以获取上述的自定义属性值。DocumentProperty对象则代表每一个具体的属性对象。

 

比如要获取excel工作簿的创建时间,可以用BuiltinDocumentProperties属性的Creation date获取,vba代码如下:

 

Sub QQ1722187970()
    Dim dDate As Date
    dDate = Excel.ThisWorkbook.BuiltinDocumentProperties("Creation date")
    MsgBox dDate
End Sub

 

如果要获取所有属性的vba名称和对应的值,可以使用如下的vba代码遍历:

 

Sub QQ1722187970()
    On Error Resume Next
    Dim oDP As DocumentProperty
    For Each oDP In Excel.ThisWorkbook.BuiltinDocumentProperties
        With oDP
            Debug.Print .Name, .Value
        End With
    Next
     For Each oDP In Excel.ThisWorkbook.CustomDocumentProperties
        With oDP
            Debug.Print .Name, .Value
        End With
    Next
End Sub

 

以下是最常见的属性的名称:

 

Title
Subject
Author
Keywords
Comments
Template
Last author
Revision number
Application name
Creation date
Category
Format
Manager
Company
Hyperlink base
Content type
Content status
Language
Document version

 

       

发表评论