Goedendag,
In Excel probeer ik al een ruime tijd mijn reistijd bestand weer werkend te krijgen. Ik ben op de hoogte dat dit sinds 2e helft 2018 niet meer mogelijk is zonder API code. Deze code heb ik bij Google opgevraagd en wil dit werkend krijgen (met het gratis tegoed) voordat ik er geld voor ga betalen en waarschijnlijk blijf ik wel binnen het budget.
Ook weet ik dat er meerdere fora zijn waar dit onderwerp besproken is. Maar bij geen enkele krijg ik het bestand werkend. Ik blijf terugkeren op resultaat #WAARDE of #NAAM.
Hopelijk kan iemand mij hier verder helpen.
De code die ik gebruik staat onderaan (en werkte voorheen prima).Heb ik overigens niet zelf verzonnen.
Nu moet de API code er in, dit heb ik ook op meerdere manieren gedaan, bijvoorbeeld deze: maar er komt nog steeds geen tijdberekening uit (YOUR_API_KEY) vervangen door de AIZ code.
Is er iemand de me op weg kan helpen?
Alvast bedankt.
Mathie88
In Excel probeer ik al een ruime tijd mijn reistijd bestand weer werkend te krijgen. Ik ben op de hoogte dat dit sinds 2e helft 2018 niet meer mogelijk is zonder API code. Deze code heb ik bij Google opgevraagd en wil dit werkend krijgen (met het gratis tegoed) voordat ik er geld voor ga betalen en waarschijnlijk blijf ik wel binnen het budget.
Ook weet ik dat er meerdere fora zijn waar dit onderwerp besproken is. Maar bij geen enkele krijg ik het bestand werkend. Ik blijf terugkeren op resultaat #WAARDE of #NAAM.
Hopelijk kan iemand mij hier verder helpen.
De code die ik gebruik staat onderaan (en werkte voorheen prima).Heb ik overigens niet zelf verzonnen.
Nu moet de API code er in, dit heb ik ook op meerdere manieren gedaan, bijvoorbeeld deze: maar er komt nog steeds geen tijdberekening uit (YOUR_API_KEY) vervangen door de AIZ code.
Is er iemand de me op weg kan helpen?
Alvast bedankt.
Mathie88
Visual Basic:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 Link = "https://maps.googleapis.com/maps/api/distancematrix/json?key=YOUR_API_KEY&origins=" '''''''''''''''''''''''''''''''''' ' Reistijd berekenen ' ' start = startlocatie ' eind = eindlocatie ' vervoer = manier waarop te reizen ' eenheid = manier van tijdspresentatie ' '''''''''''''''''''''''''''''''''' Public Function G_REISTIJD(start As String, eind As String, Optional vervoer As Variant, Optional eenheid As Variant) As Variant Dim Verv As String Dim Eenh As String Dim Link As String Dim Bestemming As String Dim Mode As String Dim Taal As String Dim Min As Integer Dim Uur As Integer Dim Sec As Integer ''' Link opbouw ''' Link = "https://maps.googleapis.com/maps/api/distancematrix/json?origins=" Bestemming = "&destinations=" Mode = "&mode=" Taal = "&language=nl" ''' Controleren op waarde in vervoer ''' ' Openbaar vervoer is een registratienummer voor nodig bij google ' If IsMissing(vervoer) = True Or IsEmpty(vervoer) = True Then Verv = "driving" Else If vervoer > 2 Then Verv = "driving" Else Select Case vervoer Case 0: Verv = "driving" Case 1: Verv = "walking" Case 2: Verv = "bicycling" End Select End If End If ''' Controleren op waarde in eenheid ''' If IsMissing(eenheid) = True Or IsEmpty(eenheid) = True Then Eenh = 0 Else If eenheid > 3 Then Eenh = 0 Else Eenh = eenheid End If End If ''' Oproepen informatie ''' Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP") Url = Link & Replace(start, " ", "+") & Bestemming & Replace(eind, " ", "+") & Mode & Verv & Taal objHTTP.Open "GET", Url, False objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" objHTTP.send ("") ''' Als POST tekst niet klopt ''' If InStr(objHTTP.responseText, """duration"" : {") = 0 Then GoTo Error ''' Tijd opzoeken ''' tijd = Right(objHTTP.responseText, Len(objHTTP.responseText) - InStrRev(objHTTP.responseText, """value"" : ") - 9) ''' Tijd naar seconden, minuten en uren ''' Sec = CDbl(Replace(Split(tijd)(0), ".", ",")) Min = Int((Sec - (Int(Sec / 3600) * 3600)) / 60) Minn = Int(Round((Sec - (Int(Sec / 3600) * 3600)) / 60)) Uur = Int(Sec / 3600) ''' Als eenheid in 00:00 ''' Kort = Format(Uur, "00") & ":" & Format(Min, "00") ''' Als eenheid in 00:00:00 ''' Lang = Format(Uur, "00") & ":" & Format(Min, "00") & ":" & Format(((Sec Mod 60)), "00") ''' Als eenheid in tekst ''' If Uur > 0 Then Tekst = Uur & " u. " & Minn & " min." Else Tekst = Minn & " min." End If ''' Eindresultaat maken ''' Select Case Eenh Case 0: G_REISTIJD = Kort Case 1: G_REISTIJD = Lang Case 2: G_REISTIJD = Sec Case 3: G_REISTIJD = Tekst End Select Exit Function ''' Error uitgang ''' Error: G_REISTIJD = CVErr(xlErrNA) End Function
[ Voor 1% gewijzigd door Hero of Time op 25-10-2019 20:51 . Reden: prettify code en klap in met quote ]