• 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.

Afstandsberekening Macro (ANWB) geeft soms #Waarde ivm keuze straat + nr

  • Onderwerp starter Onderwerp starter Cstee
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Cstee

Nieuwe gebruiker
Lid geworden
25 feb 2010
Berichten
4
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.


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
 
dan zul je je adressen preciezer moeten maken (straat met huisnummer)
 
Ja, dat snap ik. In de excelsheet kun je zien dat ik ook de straatnamen erbij heb staan. Alleen wil ik nu graag weten hoe ik de vba-code kan aanpassen zodat ik niet alleen met postcode, maar ook met straat en nr kan zoeken op de anwbsite
 
zie bestand
als je zoek met adressen dan moet je de postcode weglaten anders raakt de site weer in de war
google eens op "google maps excel nederland" er zijn veel meer bestandjes gemaakt voor google maps dan voor de anwb
 

Bijlagen

Bedankt Alphamax!

Ik nu gewoon voor de gevallen dat GetDistanceBetweenAreacodes #waarde! geeft, handmatig de celverwijzing veranderd naar GetdistanceBetweenAddress.
Het was even een werkje, maar nu heb ik voor alle regels in mijn originele bestand twee afstanden (kortste en snelste). Super.

Het is misschien niet de mooiste oplossing, maar voor mij voldoet het.
 
Als ik de afstandenberekeningen vergelijk met de anwb routeplannen komen daar hele andere afstanden uit. kan het zijn dat dit excel bestand hemelsbreede afstanden geeft ipv rijafstanden
 
Dit topic is gedateert, m.a.w. het is ouder dan drie maanden en mag dus met rust gelaten mag worden. Topic gaat op slot.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan