检索GPSLongitudeDecimal时,从EXIF提取GPS信息会崩溃Excel

时间:2018-12-19 17:05:37

标签: excel vba gps

我找到了一种从https://www.everythingaccess.com/tutorials.asp?ID=Extracting-GPS-data-from-JPEG-files处的EXIF检索GPS信息的方法。

您可以从https://www.everythingaccess.com/downloads/GPSExifReader.zip

下载原始Access文件。

我将这些VBA for Access Class Modules导入到Excel中。我可以检索所有GPS信息小数GPS经度。

据我了解,编码器(Wayne Phillips)正在执行机器内存中的代码,以根据图像创建虚拟COM对象,从而暴露出EXIF属性。

除了Call VCOMObject.AssignVar(GPSLongitudeDecimal, VCOMObject.GPSLongitudeDecimal)过程中的Property Get GPSLongitudeDecimal() As Variant以外,所有内容都可以运行。

它会使我的Excel 2013崩溃,然后重新启动它。尝试注释掉有问题的Call,并在每个Property Get过程上使用。只是经度崩溃而没有引发任何明显的错误。

认为在该经度exif参数上可能有些怪异,所以我尝试使用不同的jpeg,不同相机的jpeg进行相同的事情。

由于这是一类错综复杂的Class Modules伏都教徒,所以我提供了指向我的Excel文件(https://yiqyyh.s.cld.pt)的链接,只需单击网页左侧的“下载”即可。 Rar文件的EXIF上还包含三张带有GPS信息的测试图像。

更简单的测试方法是运行UserForm1用户窗体,然后单击CommanButton1。这将打开浏览窗口以选择图像。如果填充了文本框,则没有任何不好的事情发生,但是如果崩溃,这就是我的问题。

编辑:我尝试了另一台计算机,Excel 2013崩溃了。

EDIT2:另一台计算机在我的工作网络中。我尝试在家用计算机上运行此程序,该计算机也运行Excel 2013和 IT WORKED 。我需要在工作中运行它。

1 个答案:

答案 0 :(得分:1)

我遇到了与您完全相同的问题:
在32位版本的Office上,GPSExifReader可以正常工作。在64位版本上,检索LongitudeDecimal属性时,它会冻结(纬度和其他所有方法都工作正常)。

我通过使用Wayne Phillips的另一本excellent tools & tutorials解决了我的问题。可从该链接下载的VBA模块毫不费力地拖到Excel中,并且该教程使编写返回纬度经度的宏变得容易。