Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

548
Visualizações
Cálculo de distancia de Google Directions API desde VBA

Utilicé un tutorial para calcular automáticamente la distancia de viaje con la API de direcciones de Google, según las direcciones que ingresé en Excel. Creé con éxito una clave API y usé una página de tutorial que mostraba dos funciones en VBA, una para el tiempo y otra para la distancia:

 'Returns the number of seconds it would take to get from one place to another Function TRAVELTIME(origin, destination, apikey) Dim strUrl As String strUrl = "https://maps.googleapis.com/maps/api/directions/json?origin=" & origin & "&destination=" & destination & "&key=" & apikey Set httpReq = CreateObject("MSXML2.XMLHTTP") With httpReq .Open "GET", strUrl, False .Send End With Dim response As String response = httpReq.ResponseText Dim parsed As Dictionary Set parsed = JsonConverter.ParseJson(response) Dim seconds As Integer Dim leg As Dictionary For Each leg In parsed("routes")(1)("legs") seconds = seconds + leg("duration")("value") Next leg TRAVELTIME = seconds End Function ' Returns the distance Function TRAVELDISTANCE(origin, destination, apikey) Dim strUrl As String strUrl = "https://maps.googleapis.com/maps/api/directions/json?origin=" & origin & "&destination=" & destination & "&key=" & apikey Set httpReq = CreateObject("MSXML2.XMLHTTP") With httpReq .Open "GET", strUrl, False .Send End With Dim response As String response = httpReq.ResponseText Dim parsed As Dictionary Set parsed = JsonConverter.ParseJson(response) Dim meters As Integer Dim leg As Dictionary For Each leg In parsed("routes")(1)("legs") meters = meters + leg("distance")("value") Next leg TRAVELDISTANCE = meters End Function

Cuando trato de usar la función de distancia, falla la mayor parte del tiempo. Puedo hacer que funcione si introduzco una sola dimensión de una ubicación, por ejemplo, "Kerkstraat 10", pero si agrego el nombre de la ciudad, por ejemplo, "Kerkstraat 10, Ámsterdam", aparece el error #Value en Excel.

Ya sea que use espacios, comas, puntos y comas, %20 o lo que sea en VBA, no parece importar y, curiosamente, la función de tiempo de viaje funciona perfectamente con una dirección "completa".

¿Alguien sabe qué podría estar mal, o si hay una forma mejor/diferente de obtener lo que necesito?

¡Gracias por adelantado!

about 4 years ago · Santiago Trujillo
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda