0

我正在尝试从文件(主要是 doc 和 xls)中读取和写入属性列表,例如标题、作者、标签或评论。我可以轻松获得基本属性,但不能获得这些扩展属性。

GetDetailsOf曾经工作(https://technet.microsoft.com/en-us/library/ee176615.aspx?f=255&MSPPError=-2147217396)但是现在它停止在索引6处。

根据文档(https://docs.microsoft.com/en-us/windows/desktop/shell/shellfolderitem-extendedproperty。ExtendedProperty应该能够读取属性,但它不会返回其中的大部分。例如 Author(s),甚至在上面的链接中作为示例引用(有两种方法可以指定属性。第一种是分配属性的知名名称,例如“Author”),不返回任何内容。

还有其他方法吗?

单个文件的测试脚本:

Sub PrintDocumentProperties()

    With CreateObject("Shell.Application").Namespace("D:\VBA")
        MsgBox .GetDetailsOf(.Items.Item("derp.xlsm"), 5) & vbNewLine & _
         .Items.Item("derp.xlsm").ExtendedProperty("Date modified") & vbNewLine & _
         .Items.Item("derp.xlsm").ExtendedProperty("Type") & vbNewLine & _
         .Items.Item("derp.xlsm").ExtendedProperty("Size") & vbNewLine & _
         .Items.Item("derp.xlsm").ExtendedProperty("Author") & vbNewLine & _
         .Items.Item("derp.xlsm").ExtendedProperty("Authors")
    End With

End Sub

在此处输入图像描述

4

0 回答 0