• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

GetDistance via VBA werkt niet

Status
Niet open voor verdere reacties.

Stafmanager

Gebruiker
Lid geworden
14 jun 2012
Berichten
71
Goedemorgen,

Ik moet per maand zo'n 900 nieuwe afstanden berekenen voor de reiskosten van onze werknemers.
Ik werk binnen Citrix, dus bestanden die ik doorgestuurd krijg met een werkende formule buiten Citrix, krijg ik vanwege de beveiliging niet aan de praat.

Nu heb ik zelf een bestand gemaakt met de VBA formule:

Public Function GetDistance(start As String, dest As String)
Dim firstVal As String, secondVal As String, lastVal As String
firstVal = "http://maps.googleapis.com/maps/api/distancematrix/json?origins="
secondVal = "&destinations="
lastVal = "&mode=car&language=pl&sensor=false&key=YOUR_KEY"
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

Ik heb YOUR_KEY (in de 5e regel) vervangen door mijn Eigen Distance API key. Ik heb hem als nieuwe module aan mijn excel toegeveogd, maar ik blijf als uitkomst de False uitkomst -1 krijgen.

Wie o Wie kan mij helpen?!?!Bekijk bijlage 181105-Excel distance voorbeeld.xlsm
En dan graag stap voor stap in NL termen voor deze Excel No-No :-)

Dank!!!!
 
Ik ben idd al heel lang "lid", maar ik heb het volgens mij 10x gebruikt en de laatste 3 jaar niet meer, dus geen idee vwb de "code tags".

Ik heb de Excel uit de andere melding geopend en ik heb die website geopend en de instructies gevolgd tot F12, CTR + SHIFT + I en dan naar het tabblad network en die string invoegen in de zoekbalk, maar dan gebeurt er niets, dus ik ben nog niet verder vrees ik...

Grt Chantal
 
Hiii,

Die tweede link in #5 werkt!!! Eigenlijk moet je dus de VBA code uit de eerste link #2 combineren met de instructie uit de tweede link #5.
Onwijs bedankt voor de hulp, zeker namens onze IT, Payroll en 450 werknemers.

Grt Chantal
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan