Геокодирование VBA Excel 2010
Спасибо моему брату Эду за помощь!
Опция Явная
Функция GetCoordinates (Address As String) AsString
'This function returns the latitude and longitude of a given address using the Google Geocoding API.
'Функция использует «простейшую» форму API геокодирования Google (отправка только параметра адреса), поэтому дополнительные параметры, такие как границы, язык, регион и компоненты, НЕ используются.«В случае нескольких результатов (например, два города с одним и тем же именем), функция» возвращает ПЕРВОЕ ВОЗНИКНОВЕНИЕ, поэтому будьте внимательны при вводе адреса (совет: используйте название города и «почтовый индекс, если они доступны).
'NOTE: As Google points out, the use of the Google Geocoding API is subject to a limit of 40,000
'запросов в месяц, поэтому будьте осторожны, чтобы не превысить этот лимит.Для получения дополнительной информации проверьте: 'https://cloud.google.com/maps-platform/pricing/sheet
'In order to use this function you must enable the XML, v3.0 library from VBA editor:
' Перейдите в Инструменты -> Ссылки -> проверьте Microsoft XML, v3.0.«Если у вас нет v3.0, используйте любую другую его версию (например, v6.0).
'2018 Update: In order to use this function you will now need a valid API key.
» Проверьте следующую ссылку, которая поможет вам получить бесплатный ключ API:'https://www.myengineeringworld.net/2018/02/how-to-get-free-google-api-key.html
'2018 Update 2 (July): The EncodeURL function was added to avoid problems with special characters.
' Это общая проблема с адресами из Греции, Сербии, Германии и других стран.
'Written By: Christos Samaras
'Дата: 12/06/2014«Последнее обновление: 09/08/2018» E-mail: xristos.samaras@gmail.com «Сайт: https://www.myengineeringworld.net» -----------------------------------------------------------------------------------------------------
'Declaring the necessary variables.
'Первые 2 переменные, использующие 30 вконец, соответствующий библиотеке «Microsoft XML, v3.0» в VBA (msxml3.dll).Если вы используете любую другую его версию (например, v6.0), объявите эти переменные как XMLHTTP60 и DOMDocument60 соответственно.Dim ApiKey в виде строки Dim в качестве нового XMLHTTP30 Dim в виде нового DOMDocument30 Dim StatusNode в качестве IXMLDOMNode, в LatitudeNode в качестве IXMLDOMNode, в LongitudeNode в качестве IXMLDOMNode
'Set your API key in this variable. Check this link for more info:
'https://www.myengineeringworld.net/2018/02/how-to-get-free-google-api-key.html' **************************************************************************************************************** ApiKey = "Ваш ключ API находится здесь!"'пример: ApiKey = "lxI800lklv3sdf3v5F6 ........."