İSTENEN TARİHTEKİ DÖVİZ KURLARINI TCMB ÜZERİNDEN ALMA

VBA Makrolar ile ilgili sormak istedikleriniz, yapmak istedikleriniz hakkında yardım alabileceğiniz bölümdür.

İSTENEN TARİHTEKİ DÖVİZ KURLARINI TCMB ÜZERİNDEN ALMA

İleti#1)  sallo » 09 Oca 2020 12:17

Değerli arkadaşlar, daha önce sorunsuz kullandığım bir döviz kuru alma dosyası şu an bilgileri getirmiyor.

=KurSorgula(C4;$A4;0)
Tarih ve döviz kurunu yazdığımda TL karşılığını getiriyordu.
Yardımcı olabilecek bir arkadaş var mı?
Teşekkürler


Option Explicit
Enum xKurTip
xForexBuying = 0
xForexSelling = 1
xBanknoteBuying = 2
xBanknoteSelling = 3
End Enum

Function KurSorgula(xKurKod As String, Optional xTarih As Date, Optional KurTipi As xKurTip = xForexBuying) As Double
Const xmlURL1 = "http://tcmb.gov.tr/kurlar/today.xml"
Const xmlURL2 = "http://www.tcmb.gov.tr/kurlar/%p1/%p2.xml"
Dim xmlTCMB
Dim xmlNODE
Dim xmlURL As String
Dim Sor
If IsEmpty(xTarih) Or xTarih = #12:00:00 AM# Then
xTarih = Date
End If
If xTarih >= Date Then
xmlURL = xmlURL1
Else
xmlURL = Replace(Replace(xmlURL2, "%p1", Format(xTarih - 1, "yyyymm")), "%p2", Format(xTarih - 1, "ddmmyyyy"))
End If
Do Until XMLVarmi(xmlURL)
If xmlURL <> xmlURL1 Then
xTarih = xTarih - 1
If xTarih < #5/3/2002# Then GoTo HATA
xmlURL = Replace(Replace(xmlURL2, "%p1", Format(xTarih, "yyyymm")), "%p2", Format(xTarih, "ddmmyyyy"))
Else
GoTo HATA
End If
DoEvents
Loop
Set xmlTCMB = CreateObject("MSXML2.DOMDocument.6.0")
xmlTCMB.Load xmlURL
Do
DoEvents
Loop Until xmlTCMB.parsed = True
Set xmlNODE = xmlTCMB.SelectNodes("Tarih_Date/Currency[@Kod='" & xKurKod & "'][BanknoteBuying>0]")
Select Case KurTipi
Case xForexBuying
KurSorgula = Val(xmlNODE.Item(0).SelectNodes("ForexBuying").Item(0).Text) ', ".", Application.DecimalSeparator))
Case xForexSelling
KurSorgula = Val(xmlNODE.Item(0).SelectNodes("ForexSelling").Item(0).Text) ', ".", Application.DecimalSeparator))
Case xBanknoteBuying
KurSorgula = Val(xmlNODE.Item(0).SelectNodes("BanknoteBuying").Item(0).Text) ', ".", Application.DecimalSeparator))
Case xBanknoteSelling
KurSorgula = Val(xmlNODE.Item(0).SelectNodes("BanknoteSelling").Item(0).Text) ', ".", Application.DecimalSeparator))
End Select
Set xmlTCMB = Nothing
Set xmlNODE = Nothing
Exit Function
HATA:
Set xmlTCMB = Nothing
Set xmlNODE = Nothing
KurSorgula = "Yok"
End Function

Private Function XMLVarmi(URL As String) As Boolean

Dim HTTPBaglanti As Object
Set HTTPBaglanti = CreateObject("WinHttp.WinHttpRequest.5.1")
On Error GoTo XMLVarmi_Error
HTTPBaglanti.Open "GET", URL
HTTPBaglanti.send
If HTTPBaglanti.Status = 200 Then
XMLVarmi = True
Else
XMLVarmi = False
End If
Set HTTPBaglanti = Nothing
Exit Function
XMLVarmi_Error:
Set HTTPBaglanti = Nothing
XMLVarmi = False
End Function
Kullanıcı avatarı
sallo
 
Kayıt: 01 Kas 2017 08:40
Meslek: akademisyen
Yaş: 59
İleti: 3
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Şırnak

Cevap: İSTENEN TARİHTEKİ DÖVİZ KURLARINI TCMB ÜZERİNDEN ALMA

İleti#2)  kanakan52 » 09 Oca 2020 13:25

Merhaba ,

Benzer dosya bende vardı, denedim oda çalışmıyor. TCMB sitede güncelleme yapmış, bağlantı linkleri değişmiş sanırım.

Buradaki üstadların yardımcı olacağından emin olabilirsiniz, şahsen hiçbir sorum yanıtsız kalmadı.

Sağlıcakla kalın.
Kullanıcı avatarı
kanakan52
Siteye Alışmış
 
Adı Soyadı:Ümit AKBULUT
Kayıt: 15 May 2013 15:56
Konum: TÜRKİYE
Meslek: muhasebe
Yaş: 37
İleti: 493
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ORDU

Cevap: İSTENEN TARİHTEKİ DÖVİZ KURLARINI TCMB ÜZERİNDEN ALMA

İleti#3)  erseldemirel2 » 09 Oca 2020 13:31

Büyük ihtimalle kabaca söylemek gerekirse web sitesinde kaynak kodları değişmiştir. Sayfa analiz edilerek bütün kodlamanın baştan yapılması gerekir.
www.erseldemirel.com.tr
Kullanıcı avatarı
erseldemirel2
Site Dostu
 
Kayıt: 31 Oca 2019 12:51
Meslek: Mühendis
Yaş: 36
İleti: 875
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara / Çankaya

Cevap: Cevap: İSTENEN TARİHTEKİ DÖVİZ KURLARINI TCMB ÜZERİND

İleti#4)  sallo » 09 Oca 2020 15:45

kanakan52 yazdı:Merhaba ,

Benzer dosya bende vardı, denedim oda çalışmıyor. TCMB sitede güncelleme yapmış, bağlantı linkleri değişmiş sanırım.

Buradaki üstadların yardımcı olacağından emin olabilirsiniz, şahsen hiçbir sorum yanıtsız kalmadı.

Sağlıcakla kalın.



Merhaba,
evet galiba linkler değişmiş. İnşallah yardımcı olan birileri çıkar forumdan

Kolay gelsin
Kullanıcı avatarı
sallo
 
Kayıt: 01 Kas 2017 08:40
Meslek: akademisyen
Yaş: 59
İleti: 3
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Şırnak

REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Cevap: İSTENEN TARİHTEKİ DÖVİZ KURLARINI TCMB ÜZERİNDEN ALMA

İleti#5)  sallo » 12 Oca 2020 01:18

BU KONUDA YARDIMI OLACAK BİRİLERİ YOK MU BURADA
Kullanıcı avatarı
sallo
 
Kayıt: 01 Kas 2017 08:40
Meslek: akademisyen
Yaş: 59
İleti: 3
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Şırnak

Cevap: İSTENEN TARİHTEKİ DÖVİZ KURLARINI TCMB ÜZERİNDEN ALMA

İleti#6)  Feyzullah » 13 Oca 2020 17:45

Kodlarda http yazan yerleri https olarak değiştirin.
Kullanıcı avatarı
Feyzullah
Site Dostu
 
Adı Soyadı:mete han
Kayıt: 18 Ekm 2011 08:30
İleti: 807
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: OSMANİYE

REKLAM
ETA - Excel Konsolide Raporlama
ETA Excel Personel Entegre Raporu

Cevap: Cevap: İSTENEN TARİHTEKİ DÖVİZ KURLARINI TCMB ÜZERİND

İleti#7)  ASBALATA » 14 Oca 2020 08:47

Feyzullah yazdı:Kodlarda http yazan yerleri https olarak değiştirin.

Hay ALLAH senden razı olsun kardeşim teşekkürler yaklaşık 2 aydır engin beyin yazdığı makroyu çalıştıramıyordum. [op]
Kullanıcı avatarı
ASBALATA
 
Kayıt: 09 Mar 2018 13:32
Meslek: Sanayici,imalatçı
Yaş: 46
İleti: 2
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Konya


Forum Genel Makro Soruları

Online Kullanıcılar

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 1 misafir

Bumerang - Yazarkafe