При извлечении информации GPS из EXIF ​​вылетает Excel при получении GPSLongitudeDecimal - PullRequest
0 голосов
/ 19 декабря 2018

Я нашел способ извлечь информацию GPS из EXIF ​​в https://www.everythingaccess.com/tutorials.asp?ID=Extracting-GPS-data-from-JPEG-files.

. Вы можете загрузить исходные файлы Access из https://www.everythingaccess.com/downloads/GPSExifReader.zip

. Я импортировал эти VBA для модулей класса доступа вExcel.Я могу получить всю информацию GPS EXCEPT Десятичная долгота GPS.

Насколько я понимаю, кодер (Уэйн Филлипс) выполняет код в памяти машины для создания виртуального COM-объекта изизображения, таким образом, открывая свойства EXIF.

Все работает, кроме Call VCOMObject.AssignVar(GPSLongitudeDecimal, VCOMObject.GPSLongitudeDecimal), который находится в процедуре Property Get GPSLongitudeDecimal() As Variant.

Это приводит к сбою моего Excel 2013, а затем перезапускает его.Попытался закомментировать оскорбительный вызов и работает на каждой процедуре получения свойства.Это просто Longitude, который вылетает без видимой ошибки.

Я подумал, что это может быть что-то странное с этим параметром exif longitude, поэтому я попробовал использовать разные jpegs и разные jpeg для разных камер, и происходит одно и то же..

Поскольку это сложная часть Class Modules voodoo, я предоставляю ссылку на мой файл Excel (https://yiqyyh.s.cld.pt), просто нажмите «Загрузить» в левой части веб-страницы.RAR-файл также содержит три тестовых изображения с информацией GPS на их EXIF.

Самый простой способ проверить это - запустить UserForm1 UserForm и нажать CommanButton1. Это откроет окно обзора, чтобы выбрать изображение.Если текстовое поле заполняется, то ничего плохого не произошло, но если он падает, это моя проблема.

РЕДАКТИРОВАТЬ: я пробовал другую машину, и Excel 2013 завис.

EDIT2: другая машина находится в моей рабочей сети. Я попытался запустить это на своем домашнем ПК, также работает Excel 2013, и IT WORKED . Iнужно запустить это на работе.

1 Ответ

0 голосов
/ 07 апреля 2019

У меня была та же проблема, что и у вас:
На 32-битных версиях Office GPSExifReader работал нормально.В 64-битных версиях он зависал при извлечении свойства LongitudeDecimal (широта и все остальное работало нормально).

Я решил свою проблему, воспользовавшись другим из превосходных инструментов и учебников Уэйна Филлипса .Модули VBA, загружаемые по этой ссылке, без труда перетаскиваются в Excel, а учебное пособие позволяет легко написать макрос, который возвращает широту и долготу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...