如何使用 VBA 从 Excel 工作表中的形状图片获取 EXIF 信息,如纬度、经度等?是否可以在不从工作表或压缩的 Excel 工作簿中提取或复制图片的情况下获得它?
我可以使用以下代码迭代压缩文件夹内容。
Public Sub ReadZip()
Dim vZipFileName As Variant
vZipFileName = "C:\Users\erogrou\Desktop\Test.zip"
Dim objShell, objFolder
Set objShell = CreateObject("shell.application")
Set objFolder = objShell.Namespace(vZipFileName)
Dim vFilename As Variant
If (Not objFolder Is Nothing) Then
Debug.Print objFolder.self.Path
For Each vFilename In objFolder.items
Debug.Print vFilename
Next
End If
Set objFolder = Nothing
Set objShell = Nothing
End Sub
最佳答案
幸运的是,有一件美丽的作品of coding澳大利亚中北部流域管理局的安德鲁·菲利普斯 (Andrew Phillips) 正是这样做的。
它作为类模块提供,因此我没有在此处重新列出它
当前代码可以从 Access 导入 Excel,在我的例子中,我需要将函数从 32 位更改为 64 位,如下所示:
Private Declare Function VirtualAlloc Lib "kernel32" (ByVal Address As Long, ByVal Size As Long, ByVal AllocationType As Long, ByVal Protect As Long) As Long
使用PntSafe
来实现此目的
Private Declare PtrSafe Function VirtualAlloc Lib "kernel32" (ByVal Address As Long, ByVal Size As Long, ByVal AllocationType As Long, ByVal Protect As Long) As Long
关于excel - 如何使用VBA从Excel工作表中的图片获取EXIF信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43362130/