使用VBA还原JPG文件中的元数据



现在找到了一个批量编辑程序,它将帮助我重新控制堆积如山的图片文件。另一方面,部分元数据在编辑过程中消失了。我并没有为丢失的高级相机设置而哭泣,但我想保留的几件事是照片日期和相机型号。

检索所选信息,可以使用以下方法轻松完成:

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)

(…等选择的细节(

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

提前谢谢

您要做的是通过VBA修改图像文件标记/属性,这是不受支持的。Shell32.Folder只支持读取,对于文件夹对象内的Shell32.FolderItem,大多数方法都是只读的
修改元数据的唯一方法是通过外部工具exiftool
但它是一个命令行工具,所以使用本文从excelvba运行它。

最新更新