我正在处理的项目从MySQL数据库中的Blob导入图像。有时,这些图像会旋转90度,用户需要手动将其旋转到正确的方向。
所以我的问题是,有人知道使用vba从Excel中的形状中提取exif数据的功能吗?我正在尝试避免使用任何第三方应用程序。
答案 0 :(得分:1)
我最终在social.msdn.microsoft.com的肠子里发现了一些东西。
这是解决方案。需要Microsoft Shell控件和自动化参考。感谢social.msdn.microsoft.com上的OssieMac。 Link to page of post
将其指向某个形状似乎不起作用(给我一个错误),但是无论如何我还是将mysql blob保存到PC上的临时文件中,因此无论如何对我来说都是可行的。
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:\Users\OssieMac\Documents\Excel\Test Macros\Picture 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