【问题标题】:Restore metadata in JPG files using VBA使用 VBA 恢复 JPG 文件中的元数据
【发布时间】:2020-12-12 11:41:14
【问题描述】:

现在找到了一个批量编辑程序,可以帮助我重新控制大量图片文件。它的另一面是部分元数据在编辑中消失了。我不会为丢失高级相机设置而哭泣,但我想保留一些东西是照片日期和相机型号。

检索选定的信息很容易通过以下方法完成:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.Namespace(strFolder)
Set objFolderItem = objFolder.ParseName(strFile)
... followed by...
Cells(2,iColumn).Value = objFolder.getdetailsof(objFolderItem, 12) '(12 = photo taken)*<br>
Cells(3,iColumn).Value = objFolder.getdetailsof(objFolderItem, 30) '(30 = camera model)

(...等带有选定的详细信息)

在一个文件夹的循环中,结果将是一个工作表,其中包含文件名及其元数据在一个表中......这就是我现在所在的位置。我正在搜索,我正在搜索,我似乎唯一找到的是检索信息的不同方法,但我想知道如何将其放回文件中。

提前致谢。
/尼克

【问题讨论】:

  • here。也许会对你有所帮助。
  • 我确实检查了它,我会在有时间时重新访问它。我确实找到了一个带有 GUI 的简单工具,但它确实给了我照片日期。尽管这是最重要的,但欢迎多做一点。

标签: vba


【解决方案1】:

您想要做的是通过 VBA 修改图像文件标签/属性,这是不受支持的。 Shell32.Folder 仅支持读取,并且大多数方法对于文件夹对象内的Shell32.FolderItem 都是只读的。
修改元数据的唯一方法是通过外部工具exiftool
但它是一个命令行工具,因此请使用此 post 从 excel vba 运行它。

【讨论】:

    猜你喜欢
    • 2014-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-13
    相关资源
    最近更新 更多