如何使用 vba Excel 2010 从形状中提取 exif 数据?



我正在处理的项目从 MySQL 数据库中的 blob 导入图像。有时这些图像会旋转 90 度,用户需要手动将它们旋转到正确的方向。

所以我的问题是,有没有人知道使用 vba 从 Excel 中的形状中提取 exif 数据的函数?我试图避免任何第三方应用程序来执行此操作。

我最终在 social.msdn.microsoft.com 的肠子里发现了一些东西。

这是解决方案。Microsoft 需要外壳控件和自动化参考。感谢 OssieMac 在 social.msdn.microsoft.com。链接到帖子页面

将其指向形状似乎不起作用(给我一个错误(,但我无论如何都将我的 mysql blob 保存到电脑上的临时文件中,所以无论如何这对我来说都有效。

Sub ListMetadata()
Dim fileFolder As String
Dim fileName As String
Dim objShell As Shell32.Shell
Dim objFolder As Shell32.Folder
Dim objItem As Shell32.FolderItem
Dim i As Long
'Edit following line to your path. (Note NO back slash on end.)
fileFolder = ThisWorkbook.Path & "Picture Test"
'Can insert path like following if you prefer.
'fileFolder = "C:UsersOssieMacDocumentsExcelTest MacrosPicture Test"
'Edit following line to your file name
fileName = "DSC00093.JPG"
Set objShell = New Shell
Set objFolder = objShell.Namespace(fileFolder)
Set objItem = objFolder.ParseName(fileName)
With objFolder
For i = 1 To 1000
Sheets("Sheet1").Cells(i, "A") = .GetDetailsOf(objItem.Name, i)
Sheets("Sheet1").Cells(i, "B") = .GetDetailsOf(objItem, i)
Next i
End With
Set objItem = Nothing
Set objFolder = Nothing
Set objShell = Nothing
End Sub

最新更新