Järgige seda artiklit ja looge oma geograafiline tööriist, mille abil saate aadressi laius- ja pikkuskraadi koordinaadid. Selliseid muundureid kasutavad kinnisvaramaaklerid tavaliselt.
Download Now
Kui soovite starKui soovite tarkvara võimalikult kiiresti kasutada, saate:
Vastasel juhul, kui soovite ise teha, saate lugeda allpool olevat sisu.
Valmistame GUI ette
Kõik, mida vajate, on üks Exceli leht ja saate lehele oma vajaduse järgi nime anda. Selles näites kasutan lehe vaikenime "Sheet1". Järgmine samm on sellele lehele vajalike päiste lisamine. Laius- ja pikkuskraadi muundur annab täpse tulemuse edastatava aadressi kohta, kui sisend sisaldab eeslinna, osariiki, postkood ja riik. Valmistage päised ette, nagu pildil näidatud. Lisame kahe viimase veeruna laius- ja pikkuskraad. Vajame ka nuppu, mis võimaldab kasutajal teisendada. Nii et sisestame kujundi ja täidame selle värviga, et see ilmuks nupuna.
Teeme selle funktsionaalseks
Siin esitatud skript tuleks kopeerida uude moodulisse. Ärge unustage salvestada oma töövihikut makro toega töövihikufailina. Alam "FindThis" tuleks lisada nupule, mille just lõime.
Testime seda
Lisage aadress koos muu teabega vastavatesse veergudesse. Klõpsake nuppu, et käivitada makro, mis kuvab kõigi lehel loetletud aadresside laius- ja pikad koordinaadid. Makro start 2. real ja jätkab jooksmist, kuni jõuab tühja reani.
Kuidas see töötab?
Skriptiga oleme loonud kaks funktsiooni. Üks Lat-väärtuse ja teine Long-väärtuse toomiseks. Kasutades FOR-tsüklit, edastame iga aadressi nendele funktsioonidele ja kuvame tulemuse ekraanil.
Script
Function GETLAT(v_address As String, v_suburb As String, v_state As String, v_postcode As Long)
Dim URl As String, lastRow As Long
Dim xmlHttp As Object, html As Object, objResultDiv As Object, objH3 As Object, link As Object
URl = "https://maps.googleapis.com/maps/api/geocode/xml?address=" & Application.WorksheetFunction.Substitute(v_address, " ", "+") & Application.WorksheetFunction.Substitute(v_suburb, " ", "+") & Application.WorksheetFunction.Substitute(v_state, " ", "+") & Application.WorksheetFunction.Substitute(v_postcode, " ", "+") & ",Australia"
Set xmlHttp = CreateObject("MSXML2.XMLHTTP")
xmlHttp.Open "GET", URl, False
xmlHttp.setRequestHeader "Content-Type", "text/xml"
xmlHttp.send
Set html = CreateObject("htmlfile")
html.body.innerhtml = xmlHttp.ResponseText
v_string = html.body.innerhtml
x = InStr(1, v_string, "<LAT>")
If x <> 0 Then
y = InStr(x + 5, v_string, "</LAT>")
GETLAT = Mid(v_string, x + 5, y - (x + 5))
End If
End Function
Function GETLNG(v_address As String, v_suburb As String, v_state As String, v_postcode As Long)
Dim URl As String, lastRow As Long
Dim xmlHttp As Object, html As Object, objResultDiv As Object, objH3 As Object, link As Object
URl = "https://maps.googleapis.com/maps/api/geocode/xml?address=" & Application.WorksheetFunction.Substitute(v_address, " ", "+") & Application.WorksheetFunction.Substitute(v_suburb, " ", "+") & Application.WorksheetFunction.Substitute(v_state, " ", "+") & Application.WorksheetFunction.Substitute(v_postcode, " ", "+") & ",Australia"
Set xmlHttp = CreateObject("MSXML2.XMLHTTP")
xmlHttp.Open "GET", URl, False
xmlHttp.setRequestHeader "Content-Type", "text/xml"
xmlHttp.send
Set html = CreateObject("htmlfile")
html.body.innerhtml = xmlHttp.ResponseText
v_string = html.body.innerhtml
x = InStr(1, v_string, "<LNG>")
If x <> 0 Then
y = InStr(x + 5, v_string, "</LNG>")
GETLNG = Mid(v_string, x + 5, y - (x + 5))
End If
End Function
Sub FindThis()
For r = 2 To 5
Range("F" & r).Value = GETLAT(Range("A" & r).Value, Range("B" & r).Value, Range("C" & r).Value, Range("D" & r).Value)
Range("G" & r).Value = GETLNG(Range("A" & r).Value, Range("B" & r).Value, Range("C" & r).Value, Range("D" & r).Value)
Next r
End Sub
Kui te ei saa skripti abil õigeid tulemusi, võib tõenäoline põhjus olla rikutud Excel. Seejärel saate kasutada Exceli faili taastamise tööriist nagu DataNumen Excel Repair Exceli parandamiseks.
Autori sissejuhatus:
Nick Vipond on andmete taastamise ekspert DataNumen, Inc., mis on maailmas juhtiv andmete taastamise tehnoloogiate, sealhulgas remont doc probleem ja Outlooki taastamise tarkvaratooted. Lisateabe saamiseks külastage www.datanumenCom
