Excel Forum

Excel Forum (http://www.excel.web.tr/index.php)
-   Makro-VBA (http://www.excel.web.tr/forumdisplay.php?f=48)
-   -   VBA enlem boylam kod hatası hakkında (http://www.excel.web.tr/showthread.php?t=168043)

fearpirat 10-11-2017 10:08

VBA enlem boylam kod hatası hakkında
 
Arkadaşlar ,

istediğim şey basit sütün 1 de bulunan adresin sütun 2 de enlem ve boylamını getirmek istiyorum.
Elimde bulduğum bir kod bulunuyor ama arama esnasında hata alıyorum.
Bu konuda yardım edebilecek arkadaş var mı.
Çalıştırabilirmisiniz ?

Kodu aldığım adres ;
https://www.google.com.tr/amp/grindg...and-google/amp

Kod:

Function MyGeocode(address As String) As String
  Dim strAddress As String
  Dim strQuery As String
  Dim strLatitude As String
  Dim strLongitude As String
  strAddress = URLEncode(address)
  'Assemble the query string
  strQuery = "http://maps.googleapis.com/maps/api/geocode/xml?"
  strQuery = strQuery & "address=" & strAddress
  strQuery = strQuery & "&sensor=false"
  'define XML and HTTP components
  Dim googleResult As New MSXML2.DOMDocument
  Dim googleService As New MSXML2.XMLHTTP
  Dim oNodes As MSXML2.IXMLDOMNodeList
  Dim oNode As MSXML2.IXMLDOMNode
  'create HTTP request to query URL - make sure to have
  'that last "False" there for synchronous operation
  googleService.Open "GET", strQuery, False
  googleService.send
  googleResult.LoadXML (googleService.responseText)
  Set oNodes = googleResult.getElementsByTagName("geometry")
  If oNodes.Length = 1 Then
    For Each oNode In oNodes
      strLatitude = oNode.ChildNodes(0).ChildNodes(0).Text
      strLongitude = oNode.ChildNodes(0).ChildNodes(1).Text
      MyGeocode = strLatitude & "," & strLongitude
    Next oNode
  Else
    MyGeocode = "Not Found (try again, you may have done too many too fast)"
  End If
End Function
Public Function URLEncode(StringVal As String, Optional SpaceAsPlus As Boolean = False) As String
  Dim StringLen As Long: StringLen = Len(StringVal)
  If StringLen>0 Then
    ReDim result(StringLen) As String
    Dim i As Long, CharCode As Integer
    Dim Char As String, Space As String
    If SpaceAsPlus Then Space = "+" Else Space = "%20"
    For i = 1 To StringLen
      Char = Mid$(StringVal, i, 1) 
      CharCode = Asc(Char)
      Select Case CharCode
      Case 97 To 122, 65 To 90, 48 To 57, 45, 46, 95, 126
        result(i) = Char
      Case 32
        result(i) = Space
      Case 0 To 15
        result(i) = "%0" & Hex(CharCode)
      Case Else
        result(i) = "%" & Hex(CharCode)
      End Select
    Next i
    URLEncode = Join(result, "")
  End If
End Function


Haluk 10-11-2017 10:30

Verdiğiniz linkte ve aşağıdaki resimde belirtilen Microsoft XML v6.0 referansını eklediniz mi?


Haluk 10-11-2017 10:39

Bu referansı eklediyseniz, çalışması lazım.

Bir de; adreste Türkçe karakterler kullanmadan deneyin ....

.

fearpirat 10-11-2017 11:13

Evet daha öncede bu şekilde bir kod kullandım. Kod sayfasında direk hata alıyorum.
kendiniz denediğiniz de oluyor ise örnek excell i gönderebilme şansınız mevcut mudur ?

Haluk 10-11-2017 11:15

1 Eklenti(ler)
Çalışan dosya ektedir...

.

fearpirat 10-11-2017 12:39

http://photouploads.com/image/QE3
ilgili resimdeki gibi bir hata alıyorum bunu çözebilirmiyiz.

Haluk 10-11-2017 13:19

Saniyorum daha once belirttigim referansi eklememisiniz.

Benim gonderdigim dosyayi denediniz mi?

.

fearpirat 10-11-2017 13:22

Evet sizin gönderdiğiniz de yine aynı problemi alıyorum. referans ekli , çünkü km hesaplamalı bir kod hali hazırda kullandığım için referans problemi konusunda tecrübe sahibi oldum.
Exceli açtığımda
Kodlarda en üst satır sarı renkte oluyor ,
Dim googleResult As New MSXML2.DOMDocument bu satırda da duruyor.

Ekli olan referanslar,
Visual Basic for Applications
Microsof excel 16.0 object library
Microsof office 16.0 object library
OLE automation
Microsoft XML, v6.0

Haluk 10-11-2017 13:41

Profilinizde Office 2010 yaziyor ama baska bir versiyon kullaniyorsunuz galiba. Oyle mi?

.

fearpirat 10-11-2017 13:50

Normal de ev bilgisayarımda office 2010 kullanıyorum .
Şirkette bulunduğum için burdaki bilgasayarlarımız ; office standart 2016


Saat 15:39

Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.