如何从图像中获取元数据类型(英语)

时间:2015-07-20 10:36:45

标签: image vba image-processing metadata

我有一个文件夹,其中包含一年内点击的大量照片。 使用不同的相机点击照片,因此文件的名称采用不同的格式(遵循不同的模板),我想按事件组织图像,我想根据逻辑使用make的日期来排序和重命名照片。
使用此代码时,从图像中检索元数据非常简单:

Public Sub GetMetadata()
Dim objFSO As Object
Dim objFolder As Object

Set objFSO = CreateObject("Shell.Application")
Set objFolder = objFSO.Namespace("C:\Users\fabrizio.carboni\Desktop\fotonido\")

For i = 0 To 40
   Debug.Print i, objFolder.GetDetailsOf(objFolder.Items, i)
Next

End Sub

这是我的问题,意大利语是:

 0            Nome
 1            Dimensione
 2            Tipo elemento
 3            Ultima modifica
 4            Data creazione
 5            Data ultimo accesso
 6            Attributi

如果我尝试

For Each objFoto In objFolder.Items
    'print file name
    strFotoName = objFoto.Nome
............

我收到错误,我怎样才能检索每个元数据名称的英文名称?!??
抱歉这个微不足道的问题,但即使在google上我也找不到解决方案。

1 个答案:

答案 0 :(得分:1)

您有两种解决方案:

使用局部变量窗口获取这些属性的名称

enter image description here

使用早期绑定启用IntelliSense

添加Microsoft Shell Automation作为参考(%Windir%\ System32 \ Shell32.dll)

enter image description here

编辑1:
根据您的评论,这里是如何打印创建日期。只需用以下方法切换旧循环:

For Each element In objFolder.Items
Debug.Print (objFolder.GetDetailsOf(element, 4))
Next

4是创建日期的索引。您也可以使用其他细节。更多信息请访问:https://msdn.microsoft.com/en-us/library/windows/desktop/bb787870(v=vs.85).aspx