VBA Xml Nesnesi İle TCMB’den Kurları Almak

TCMB’den kurların tamamını almaktan ziyade sadece dolar ve euro kurunu almak isteyebiliriz.

Sub kurlarigetir()
Dim xml As Object
Dim link As String
Dim tablo As Object
Dim ws As Worksheet
 
Set xml = CreateObject("MSXML2.DOMDocument")
Set ws = Sheets("SPR")
 
xml.async = False
 
xml.validateOnParse = False
 
link = "https://www.tcmb.gov.tr/kurlar/today.xml"
 
xml.Load link
 
Set tablo = xml.SelectNodes("//Currency[CurrencyName='EURO']")
 
If tablo.Length <> 0 Then
 
ws.Range("ag13") = tablo(0).ChildNodes(6).Text
 
Set tablo = xml.SelectNodes("//Currency[CurrencyName='US DOLLAR']")
 
ws.Range("ag14") = tablo(0).ChildNodes(6).Text
 
Else
MsgBox "Kurlar revize olurken bir hata oluştu.Kurları muhakkak kontrol ediniz!"
End If
 
Set tablo = Nothing
Set xml = Nothing
link = vbNullString
End Sub

Burada dikkat edilmesi gereken husus; “.ChildNodes(6)” ifadesi. Neden 6?

Çünkü ben ilgili kurun efektif satış rakamını almak istedim.

Döviz Alış Rakamı için .ChildNodes(3)

Döviz Satış Rakamı için .ChildNodes(4)

Efektif Alış Rakamı için .ChildNodes(5)

Efektif Satış Rakamı için .ChildNodes(6)  yazılması gerekir.

 

Kolay gele…

İlk Yorumu Siz Yapın

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir