タイトル、作成者、タグ、コメントなど、ファイル (主に 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) (プロパティを指定する方法は 2 つあります。最初の方法は、 "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