我正在从事的项目从 MySQL 数据库中的 blob 导入图像。有时这些图像会旋转 90 度,用户需要手动将它们旋转到正确的方向。
所以我的问题是,有人知道使用 vba 从 Excel 形状中提取 exif 数据的函数吗?我试图避免任何第三方应用程序执行此操作。
最佳答案
我最终在social.msdn.microsoft.com 的内部发现了一些东西。
这是解决方案。需要 Microsoft Shell 控件和自动化引用。感谢 Social.msdn.microsoft.com 上的 OssieMac。 Link to page of post
将它指向一个形状似乎不起作用(给我一个错误),但无论如何我都将我的 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:\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
关于excel - 如何使用 vba Excel 2010 从形状中提取 exif 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52236690/