Я нашел способ извлечь информацию 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нужно запустить это на работе.