Excel VBA ဖြင့် လိပ်စာများအတွက် Latitude နှင့် Longitude Coordinatesများကို ရယူရန် Geographic Tool တစ်ခုကို ဖန်တီးနည်း

ယခုမျှဝေပါ-

ဤဆောင်းပါးကို လိုက်နာပြီး လိပ်စာတစ်ခုအတွက် လတ္တီတွဒ်နှင့် လောင်ဂျီတွဒ် သြဒိနိတ်များကို သင်ရရှိနိုင်သည့် သင်၏ကိုယ်ပိုင် ပထဝီဝင်ကိရိယာကို တည်ဆောက်ပါ။ ဤကဲ့သို့သော converters များကို အိမ်ခြံမြေပွဲစားများက အသုံးများသည်။

အခုတော့ကို Download လုပ်

ဆော့ဖ်ဝဲကို အမြန်ဆုံးအသုံးပြုလိုပါက အောက်ပါတို့ကို လုပ်ဆောင်နိုင်သည်-

Software ကိုယခုဒေါင်းလုဒ်လုပ်ပါ။

မဟုတ်ရင် DIY လုပ်ချင်တယ်ဆိုရင်တော့ အောက်က အကြောင်းအရာတွေကို ဖတ်ရှုနိုင်ပါတယ်။

GUI ကိုပြင်ဆင်ကြရအောင်

လိုအပ်တာက Excel sheet တစ်ခုတည်းဖြစ်ပြီး sheet ကို သင်လိုအပ်သလို အမည်ပေးနိုင်ပါတယ်။ ဒီဥပမာမှာ ကျွန်တော်က default sheet name “Sheet1” ကိုသုံးနေပါတယ်။ နောက်တစ်ဆင့်ကတော့ ဒီ sheet မှာ လိုအပ်တဲ့ header တွေကိုထည့်ဖို့ပါ။ latitude, longitude converter က input မှာ suburb, state, postcode နဲ့ country ပါဝင်ရင် ကျွန်တော်တို့ပေးမယ့် address အတွက် တိကျတဲ့ရလဒ်ကိုပေးပါတယ်။ ပုံမှာပြထားတဲ့အတိုင်း header တွေကိုပြင်ဆင်ပါ။ Latitude နဲ့ Longitude ကို နောက်ဆုံး column နှစ်ခုအဖြစ်ထည့်ကြည့်ရအောင်။ user က conversion လုပ်နိုင်အောင် button တစ်ခုလည်းလိုအပ်ပါတယ်။ ဒါကြောင့် Shape တစ်ခုထည့်ပြီး button အနေနဲ့ပေါ်လာအောင် color နဲ့ဖြည့်ကြည့်ရအောင်။GUI ကိုပြင်ဆင်ပါ။

အလုပ်လုပ်ရအောင်

ဤနေရာတွင်ပေးထားသော script ကို module အသစ်တစ်ခုသို့ ကူးယူသင့်သည်။ သင့်အလုပ်စာအုပ်ကို မက်ခရိုဖွင့်ထားသည့် အလုပ်စာအုပ်ဖိုင်အဖြစ် သိမ်းဆည်းရန် မမေ့ပါနှင့်။ Sub "FindThis" သည် ကျွန်ုပ်တို့ဖန်တီးထားသောခလုတ်တွင် တွဲထားသင့်သည်။

စမ်းသပ်ကြည့်ရအောင်

သက်ဆိုင်ရာကော်လံများထဲသို့ လိပ်စာနှင့်အတူ အခြားအချက်အလက်များကို ထည့်ပါ။ စာရွက်ပေါ်တွင်ဖော်ပြထားသော လိပ်စာအားလုံးအတွက် လတ္တီတွဒ်နှင့် ရှည်လျားသော ကိုဩဒိနိတ်များကို ပြသမည့် မက်ခရိုကို လုပ်ဆောင်ရန် ခလုတ်ကို နှိပ်ပါ။ မက်ခရိုသည် အတန်း ၂ မှစတင်ပြီး ဗလာအတန်းတစ်ခုသို့ မရောက်မချင်း ဆက်လက်လုပ်ဆောင်နေမည်ဖြစ်သည်။လိပ်စာထည့်ပါ ခလုတ်ကိုနှိပ်ပါ။

ဘယ်လိုအလုပ်လုပ်လဲ?

ဇာတ်ညွှန်းဖြင့် ကျွန်ုပ်တို့သည် လုပ်ဆောင်ချက်နှစ်ခုကို ဖန်တီးထားသည်။ တစ်ခုမှာ Lat တန်ဖိုးကို ရယူရန်အတွက် တစ်ခုနှင့် Long value ကို ရယူရန်အတွက် နောက်တစ်ခု။ FOR loop ကိုအသုံးပြုခြင်းဖြင့်၊ ကျွန်ုပ်တို့သည် ဤလုပ်ဆောင်ချက်များသို့ လိပ်စာတစ်ခုစီကို ဖြတ်သန်းပြီး ရလဒ်ကို မျက်နှာပြင်ပေါ်တွင် ပြသနေပါသည်။

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

ဇာတ်ညွှန်းကို အသုံးပြု၍ သင့်လျော်သောရလဒ်များ မရရှိပါက၊ ပျက်စီးနေသော excel သည် ဖြစ်နိုင်ခြေရှိသော အကြောင်းရင်းတစ်ခု ဖြစ်နိုင်သည်။ ပြီးရင် သုံးလို့ရတယ်။ Excel ဖိုင်ပြန်လည်ရယူရေးကိရိယာ ကဲ့သို့ DataNumen Excel Repair Excel ပြုပြင်ရန်။

စာရေးသူနိဒါန်း:

Nick Vipond သည် ဒေတာပြန်လည်ရယူရေးဆိုင်ရာ ကျွမ်းကျင်သူဖြစ်သည်။ DataNumen, Inc. အပါအဝင် ဒေတာပြန်လည်ရယူရေးနည်းပညာများတွင် ကမ္ဘာ့ခေါင်းဆောင်ဖြစ်သည်။ Doc ပြဿနာကို ပြုပြင်ပါ။ နှင့် outlook recovery software ထုတ်ကုန်များ။ ပိုမိုသိရှိလိုပါကသွားရောက်ကြည့်ရှု www ။datanumen.com

ယခုမျှဝေပါ-

မှတ်ချက်များကိုပိတ်ထားကြသည်။