我正在尝试使用Wayne Phillips类模块代码(EXIFReader访问应用程序)和David Zemens子例程从jpg文件(GPS纬度和经度数据,嵌入在用Nikon Coolpix W300相机拍摄的照片中嵌入)中检索Exif元数据。 Excel VBA打开文件夹并获取其中的每个文件的GPS信息(Exif)(原始文章的链接:如何使用VBA从excel工作表中的图片中获取EXIF信息)。
在David answare的指导下,我尝试了他提出的所有建议:
1)我从韦恩代码中将类模块导入到我的工作簿项目中;
2)在类模块中,我使用“ PtrSafe”声明修改了声明的函数,使其与Excel 64位兼容;
3)我在普通代码模块上创建了一个完全像David提议的子例程;
4)我已将文件夹路径更新为正确的路径
(Set fldr=fso.GetFolder("C:/users/david_zemens/desktop/"));
5)我已经编译和调试了项目,当代码运行下面的指令(存储在GPSExifProperties类模块中)时,我遇到了应用程序崩溃:
Property Get GPSLatitudeDecimal() As Variant Call **VCOMObject**.AssignVar(GPSLatitudeDecimal, VCOMObject.GPSLatitudeDecimal) End Property
Run Code Online (Sandbox Code Playgroud)
韦恩的课程模块代码可在以下链接中找到:https : //www.everythingaccess.com/tutorials.asp?ID=Extracting-GPS-data-from-JPEG-files
我尝试使用的David Zemens代码如下:
Sub OpenFromFolder()
On Error GoTo ExifError
Dim strDump As String
'## REQUIRES REFERENCE TO MICROSOFT SCRIPTING RUNTIME
Dim fso As Scripting.FileSystemObject
Dim fldr As Scripting.Folder
Dim file As Scripting.file
Set fso = CreateObject("scripting.filesystemobject")
Set fldr = fso.GetFolder("E:\DNIT\Relatório Fotográfico\Fotos com dados GPS") '#### …Run Code Online (Sandbox Code Playgroud)