Я пытаюсь прочитать и написать список свойств из файлов (в основном, 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