excel - 检索 GPSLongitudeDecimal 时从 EXIF 中提取 GPS 信息会崩溃 Excel
问题描述
我在https://www.everythingaccess.com/tutorials.asp?ID=Extracting-GPS-data-from-JPEG-files找到了一种从 EXIF 中检索 GPS 信息的方法 。
您可以从https://www.everythingaccess.com/downloads/GPSExifReader.zip下载原始 Access 文件
我将这些用于访问类模块的 VBA 导入 Excel。我可以检索除十进制 GPS 经度之外的所有 GPS 信息。
据我了解,编码器 (Wayne Phillips) 正在机器内存中执行代码以从图像创建虚拟 COM 对象,从而公开 EXIF 属性。
一切都在运行,除了程序Call VCOMObject.AssignVar(GPSLongitudeDecimal, VCOMObject.GPSLongitudeDecimal)
中的那个Property Get GPSLongitudeDecimal() As Variant
。
它使我的 Excel 2013 崩溃,然后重新启动它。尝试注释掉有问题的调用并适用于每个 Property Get 过程。只是经度崩溃而没有引发任何明显的错误。
认为在那个经度 exif 参数上可能有些奇怪,所以我尝试了不同的 jpeg,以及来自不同相机的不同 jpeg,并且发生了同样的事情。
由于这是一个复杂的类模块巫术,我提供了一个指向我的 Excel 文件 ( https://yiqyyh.s.cld.pt ) 的链接,只需单击网页左侧的“下载”。Rar 文件还包含三个测试图像,其 EXIF 上带有 GPS 信息。
更简单的测试方法是运行UserForm1
UserForm 并单击CommanButton1
。这将打开一个浏览窗口以选择图像。如果文本框被填充,那么没有什么不好的事情发生,但如果它崩溃了,那是我的问题。
编辑:我尝试了另一台机器,Excel 2013 崩溃了。
EDIT2:另一台机器在我的工作网络中。我尝试在我的家用 PC 上运行它,也运行 Excel 2013,它工作正常。我需要在工作中运行它。
解决方案
我遇到了和你完全相同的问题:
在 32 位版本的 Office 上,GPSExifReader 运行良好。在 64 位版本上,它在检索属性时冻结LongitudeDecimal
(纬度和其他一切正常)。
我通过使用另一个 Wayne Phillips 的优秀工具和教程解决了我的问题。可从该链接下载的 VBA 模块可以毫不费力地拖入 Excel,并且该教程使编写返回纬度和经度的宏变得容易。
推荐阅读
- verilog - 在verilog中写管道的两种方式,哪一种更好?
- android - 华为移动服务开发——存储服务不存在
- pandas - 通过 pandas.groupby.agg 循环时如何忽略单词的其他实例?
- powershell - Powershell > 并非每个代码路径都在方法中返回一个值
- perl - 如何防止 Mojolicious 缓存静态文件?
- maven - fabric8 docker-maven-plugin:从命令行添加附加标签
- javascript - 如何提取html字符串中第一段的内容 react native
- asp.net - 升级nuget包问题
- kubernetes - aks 中的 Service Mesh Linkerd 安装错误
- windows - 在 IIS 中加载用户配置文件值设置为 True 不会加载站点