Beste Forummers,
Ik heb de volgende macro in gebruik (dankzij dit forum, echt super!) om afstanden tussen postcodes te berekenen. Zowel de kortste als de snelste route werken prima als de postcodes naar een unieke straat verwijzen.
Maar nu komt mijn probleem: Zodra er meerdere straten zijn die de postcode gebruiken, dan vraagt de ANWB routeplanner 'onder water' om een keuze te maken voor 1 van de straten die gevonden wordt.
Dit heb ik uitgetest door de twee postcodes die problemen geven in de excelsheet in te voeren op de website van de ANWB.
Heeft iemand hier een oplossing voor? Alvast bedankt voor het meedenken!
De sheet die ik gebruik zal ik hier bijvoegen: Bekijk bijlage Afstanden_postcodeANWB.rar
Ik heb de volgende macro in gebruik (dankzij dit forum, echt super!) om afstanden tussen postcodes te berekenen. Zowel de kortste als de snelste route werken prima als de postcodes naar een unieke straat verwijzen.
Code:
Public Function GetPage(sLink As String) As XMLHTTP40
Dim oObj As MSXML2.XMLHTTP40
Set oObj = New XMLHTTP40
oObj.Open "GET", sLink, False
oObj.send ""
Set GetPage = oObj
End Function
Public Function GetDistanceBetweenAreaCodes(Code1 As String, Code2 As String)
Dim oResult As XMLHTTP40
Dim oDOM As DOMDocument40
Dim sStr As String
Dim sResult As String
Dim sURL As String
Const sKeyWords As String = "</strong> route over <strong>"
sURL = "http://route.anwb.nl/routeplanner/servlet/rp?action=0&zip1="
sURL = sURL & Code1 & "&city1=&street1=&zip2="
sURL = sURL & Code2 & "&city2=&street2=&iad=homepage.navigatie.middenkolom.routeplannerplanroute"
Set oResult = GetPage(sURL)
Set oDOM = New DOMDocument40
sStr = oResult.responseText
sResult = Mid(sStr, InStr(sStr, sKeyWords) + Len(sKeyWords))
sResult = Replace(Mid(sResult, 1, InStr(sResult, "km") - 1), ",", ".")
GetDistanceBetweenAreaCodes = Val(sResult)
End Function
Public Function ShortGetDistanceBetweenAreaCodes(Code1 As String, Code2 As String)
Dim oResult As XMLHTTP40
Dim oDOM As DOMDocument40
Dim sStr As String
Dim sResult As String
Dim sURL As String
Const sKeyWords As String = "</strong> route over <strong>"
sURL = "http://route.anwb.nl/routeplanner/servlet/rp?action=0&zip1="
sURL = sURL & Code1 & "&city1=&street1=&zip2="
sURL = sURL & Code2 & "&planmode=Short&city2=&street2=&iad=homepage.navigatie.middenkolom.routeplannerplanroute"
Set oResult = GetPage(sURL)
Set oDOM = New DOMDocument40
sStr = oResult.responseText
sResult = Mid(sStr, InStr(sStr, sKeyWords) + Len(sKeyWords))
sResult = Replace(Mid(sResult, 1, InStr(sResult, "km") - 1), ",", ".")
ShortGetDistanceBetweenAreaCodes = Val(sResult)
End Function
Maar nu komt mijn probleem: Zodra er meerdere straten zijn die de postcode gebruiken, dan vraagt de ANWB routeplanner 'onder water' om een keuze te maken voor 1 van de straten die gevonden wordt.
Dit heb ik uitgetest door de twee postcodes die problemen geven in de excelsheet in te voeren op de website van de ANWB.
Heeft iemand hier een oplossing voor? Alvast bedankt voor het meedenken!
De sheet die ik gebruik zal ik hier bijvoegen: Bekijk bijlage Afstanden_postcodeANWB.rar