【问题标题】:How to get metadata type (english) from image如何从图像中获取元数据类型(英文)
【发布时间】:2015-07-20 10:36:45
【问题描述】:

我有一个文件夹,其中包含一年多点击过的大量照片。 照片是用不同的相机点击的,因此文件的名称是不同的格式(遵循不同的模板),我想按事件组织图像,我正在考虑使用制作日期根据逻辑对照片进行排序和重命名.
由于我使用此代码,因此从图像中检索元数据很容易:

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
............

我收到一个错误,如何检索每个元数据名称的英文名称?!??
很抱歉这个琐碎的问题,但我什至在谷歌上都没有找到解决方案。

【问题讨论】:

    标签: image vba image-processing metadata


    【解决方案1】:

    您有两种解决方案:

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

    使用早期绑定启用 IntelliSense

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

    编辑 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

    【讨论】:

    • 制作日期不存在,也许我的问题可能更简单:如何找到图像元数据列表(如名称、尺寸、类型......)或更多有人可以让我你知道你说“数据采集”吗
    • 我已经修改了我的答案。我希望它能回答你的问题。
    • thank bat 4 是文件的创建日期(例如从 USB 复制到您的 PC 的那一刻),而不是拍摄照片的日期
    • 我循环所有元素,(objFolder.GetDetailsOf(element, 12)) 是我的日期。谢谢
    猜你喜欢
    • 1970-01-01
    • 2020-09-28
    • 1970-01-01
    • 2020-07-10
    • 2021-10-24
    • 2018-01-25
    • 1970-01-01
    • 2015-09-06
    • 1970-01-01
    相关资源
    最近更新 更多