Получение всех свойств файла с VBA - PullRequest
0 голосов
/ 03 июля 2018

Я пытаюсь прочитать и написать список свойств из файлов (в основном, 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 должен иметь возможность читать атрибуты, но большинство из них не возвращает. Например, Автор (ы), который даже приведен в качестве примера в приведенной выше ссылке () Существует два способа указания свойства. Первый - присвоить известное имя свойства, например «Автор» * 1016. *) ничего не возвращает.

Есть ли другой способ?

Тестовый скрипт для одного файла:

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

enter image description here

...