Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Перестал работать макрос Google API - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перестал работать макрос Google API (Макросы/Sub)
Перестал работать макрос Google API
Nice_ejik Дата: Среда, 23.08.2023, 13:10 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 20% ±

2021
сам макрос

[vba]
Код
'Calculate Google Maps distance between two addresses
Public Function GetDistance(start As String, dest As String)
Dim firstVal As String, secondVal As String, lastVal As String
firstVal = "https://maps.googleapis.com/maps/api/distancematrix/json?units=metric&origins="
secondVal = "&destinations="
lastVal = "&mode=car&language=en&sensor=false&key=XXXXXX"
Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
Url = firstVal & Replace(start, " ", "+") & secondVal & Replace(dest, " ", "+") & lastVal
objHTTP.Open "GET", Url, False
objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
objHTTP.send ("")
If InStr(objHTTP.responseText, """distance"" : {") = 0 Then GoTo ErrorHandl
Set regex = CreateObject("VBScript.RegExp"): regex.Pattern = """value"".*?([0-9]+)": regex.Global = False
Set matches = regex.Execute(objHTTP.responseText)
tmpVal = Replace(matches(0).SubMatches(0), ".", Application.International(xlListSeparator))
GetDistance = CDbl(tmpVal)
Exit Function
ErrorHandl:
GetDistance = -1
End Function
[/vba]

пару дней наза преестал возвращать расстояние
хотя по запросу апи выдает все как и раньше

[vba]
Код
{
"destination_addresses" :
[
"Tallinn, Estonia"
],
"origin_addresses" :
[
"Paris, France"
],
"rows" :
[
{
"elements" :
[
{
"distance" :
{
"text" : "2,571 km",
"value" : 2570531
},
"duration" :
{
"text" : "1 day 3 hours",
"value" : 98338
},
"status" : "OK"
}
]
}
],
"status" : "OK"
}
[/vba]


Сообщение отредактировал Serge_007 - Среда, 23.08.2023, 13:14
 
Ответить
Сообщениесам макрос

[vba]
Код
'Calculate Google Maps distance between two addresses
Public Function GetDistance(start As String, dest As String)
Dim firstVal As String, secondVal As String, lastVal As String
firstVal = "https://maps.googleapis.com/maps/api/distancematrix/json?units=metric&origins="
secondVal = "&destinations="
lastVal = "&mode=car&language=en&sensor=false&key=XXXXXX"
Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
Url = firstVal & Replace(start, " ", "+") & secondVal & Replace(dest, " ", "+") & lastVal
objHTTP.Open "GET", Url, False
objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
objHTTP.send ("")
If InStr(objHTTP.responseText, """distance"" : {") = 0 Then GoTo ErrorHandl
Set regex = CreateObject("VBScript.RegExp"): regex.Pattern = """value"".*?([0-9]+)": regex.Global = False
Set matches = regex.Execute(objHTTP.responseText)
tmpVal = Replace(matches(0).SubMatches(0), ".", Application.International(xlListSeparator))
GetDistance = CDbl(tmpVal)
Exit Function
ErrorHandl:
GetDistance = -1
End Function
[/vba]

пару дней наза преестал возвращать расстояние
хотя по запросу апи выдает все как и раньше

[vba]
Код
{
"destination_addresses" :
[
"Tallinn, Estonia"
],
"origin_addresses" :
[
"Paris, France"
],
"rows" :
[
{
"elements" :
[
{
"distance" :
{
"text" : "2,571 km",
"value" : 2570531
},
"duration" :
{
"text" : "1 day 3 hours",
"value" : 98338
},
"status" : "OK"
}
]
}
],
"status" : "OK"
}
[/vba]

Автор - Nice_ejik
Дата добавления - 23.08.2023 в 13:10
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перестал работать макрос Google API (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!