TCMB Günlük Kurlar (VB6 Çalışması)

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,757
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Dosya güncellendi
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,317
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Halit Bey,

Bende resimdeki hata oluştu.

1557963803750.png
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,757
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Halit Bey,

Bende resimdeki hata oluştu.

Ekli dosyayı görüntüle 206102
Dosyanın içinde farklı hiçbir nesne yok ancak resimden şu anlaşılıyor.
C: \ Windows \ SysWOW64 fm20.dll dosyası olmadığı
microsoft form 2.0 object library referans nesnelerinden birinin olmadığı anlaşılıyor.
fm20.dll dosyasını register etmelisiniz.
1 nolu ve 41 nolu dosyalar aynı içinde list1 nesnesi ve listbox1 nesneleri mevcut
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,757
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Korhan Bey hatanın nedenini araştırıyorum eklediğim iki dosyayı bir denermisiniz.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,317
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba Halit Bey,

"dovız kuru9.rar" dosyası çalıştı. Diğerlerinde aynı hatayı aldım.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,757
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
doviz kuru9.rar dosyasında ListView1 nesnesi var diğerlerinde ise Listbox nesnesi var

excelde genelde ListView1 nesnesi sorun çıkartır vb6 da tam tersi oldu şimdi Listbox nesnesi sorun çıkartıyor.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,757
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
ListView nesnesi ile yapılan dosyayı güncelledim
 
Son düzenleme:

Trilenium

Destek Ekibi
Destek Ekibi
Katılım
16 Eylül 2008
Mesajlar
1,052
Excel Vers. ve Dili
Microsoft Office 2019 English
Halit Bey merhaba,

Şirketimizde dış etkenli .exe file kullanamıyoruz. Bundan dolayı aşağıdaki KTF yi kullanıyorum.
Kullanırken; textboxa tarih yazıyorum ve enter ile kurları getiriyorum. Buraya kadar herşey güzel gidiyor.

Fakat bugünün kuru gelmiyor henüz veya resmi tatillerde de gelmeyecek.

Bunun için bu KTF nin içerisinde ilgili günde kurlar olmaz ise Bugüne ait Kurlar Bulunamadı uyarısı verdirip 1 önceki kur hangisi ise onu getirtebilir miyim.

Bu kodu hangi satıra yazmalıyım.

Yardımlarınız için teşekkürler


DefVar E
Function Webdoviz(ByVal Tarih As Date, ByVal Dovtip As String, ByVal Tipi As Long) As Variant
Dim gun As String, ay As String, yil As String, path As String, kur As Double
Dim icerik As String, xmlhttp As Object, evn As Variant
Set xmlhttp = CreateObject("MSXML2.XMLHTTP")
Application.Volatile
Dovtip = UCase(Dovtip)
gun = Day(Tarih): ay = Month(Tarih): yil = Year(Tarih)
If Len(gun) = 1 Then gun = "0" & gun
If Len(ay) = 1 Then ay = "0" & ay
path = "http://www.tcmb.gov.tr/kurlar/" & yil & ay & "/" & gun & ay & yil & ".xml"

xmlhttp.Open "GET", path, False
xmlhttp.send "at"
If xmlhttp.Status = 200 Then

icerik = xmlhttp.responseText

temizlik = Split(icerik, "<Currency CrossOrder=")

For y = 0 To UBound(temizlik)
If temizlik(y) Like "*=""" & Dovtip & "*" Then
sonuclar = Split(temizlik(y), "</CurrencyName>")
evn1 = Split(sonuclar(1), "<ForexBuying>")
evn2 = Split(sonuclar(1), "<ForexSelling>")
evn3 = Split(sonuclar(1), "<BanknoteBuying>")
evn4 = Split(sonuclar(1), "<BanknoteSelling>")
Select Case Tipi
Case 1: evn = Split(evn1(1), "</")
Case 2: evn = Split(evn2(1), "</")
Case 3: evn = Split(evn3(1), "</")
Case 4: evn = Split(evn4(1), "</")
End Select
Exit For


End If

Next y
End If
'Kuruþ hanesini benim gibi virgül kullananlar için
Webdoviz = Replace(evn(0), ".", ",")



ListView nesnesi ile yapılan dosyayı güncelledim
Ekli dosyayı görüntüle 206116
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,757
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Halit Bey merhaba,

Şirketimizde dış etkenli .exe file kullanamıyoruz. Bundan dolayı aşağıdaki KTF yi kullanıyorum.
Kullanırken; textboxa tarih yazıyorum ve enter ile kurları getiriyorum. Buraya kadar herşey güzel gidiyor.

Fakat bugünün kuru gelmiyor henüz veya resmi tatillerde de gelmeyecek.

Bunun için bu KTF nin içerisinde ilgili günde kurlar olmaz ise Bugüne ait Kurlar Bulunamadı uyarısı verdirip 1 önceki kur hangisi ise onu getirtebilir miyim.

Bu kodu hangi satıra yazmalıyım.

Yardımlarınız için teşekkürler


DefVar E
Function Webdoviz(ByVal Tarih As Date, ByVal Dovtip As String, ByVal Tipi As Long) As Variant
Dim gun As String, ay As String, yil As String, path As String, kur As Double
Dim icerik As String, xmlhttp As Object, evn As Variant
Set xmlhttp = CreateObject("MSXML2.XMLHTTP")
Application.Volatile
Dovtip = UCase(Dovtip)
gun = Day(Tarih): ay = Month(Tarih): yil = Year(Tarih)
If Len(gun) = 1 Then gun = "0" & gun
If Len(ay) = 1 Then ay = "0" & ay
path = "http://www.tcmb.gov.tr/kurlar/" & yil & ay & "/" & gun & ay & yil & ".xml"

xmlhttp.Open "GET", path, False
xmlhttp.send "at"
If xmlhttp.Status = 200 Then

icerik = xmlhttp.responseText

temizlik = Split(icerik, "<Currency CrossOrder=")

For y = 0 To UBound(temizlik)
If temizlik(y) Like "*=""" & Dovtip & "*" Then
sonuclar = Split(temizlik(y), "</CurrencyName>")
evn1 = Split(sonuclar(1), "<ForexBuying>")
evn2 = Split(sonuclar(1), "<ForexSelling>")
evn3 = Split(sonuclar(1), "<BanknoteBuying>")
evn4 = Split(sonuclar(1), "<BanknoteSelling>")
Select Case Tipi
Case 1: evn = Split(evn1(1), "</")
Case 2: evn = Split(evn2(1), "</")
Case 3: evn = Split(evn3(1), "</")
Case 4: evn = Split(evn4(1), "</")
End Select
Exit For


End If

Next y
End If
'Kuruþ hanesini benim gibi virgül kullananlar için
Webdoviz = Replace(evn(0), ".", ",")

Bu konu başlığı farklı uygulamalar içermektedir benzer soru aşağıdaki linkte verilmiş ve orada cevapım var.

https://www.excel.web.tr/threads/internetten-alinan-kurlarda-tatil-guenlerinde-sifir-gelmesi.180053/
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,757
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Bu dosya list1 ve list2 nesneleri ile yapılmış çalışma
 
Son düzenleme:

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,757
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Dosyalar 1 nolu mesajda güncellendi
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,757
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
1 nolu mesajdaki
(doviz kuru15,rar)
dosyası güncellendi
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,268
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
.........
....

Düzeltme: Yanlış anlamadan dolayı yazılan mesaj içeriği silindi.....

.
 
Son düzenleme:

klop01

Altın Üye
Katılım
19 Aralık 2016
Mesajlar
624
Excel Vers. ve Dili
2021 Türkçe 64 Bit
Sayın @Haluk
Japon ve İran paralarının birim değeri neden 100 alınıyor?
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,268
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
@klop01 ;

Esasında global finans piyasalarında genel kabul; kurlar ondalık ayraçtan sonra 4 haneye kadar yürütülür. Yani; 25,8975 TL gibi....

TCMB'nin TL karşısında JPY ve IRR izlemek için kullandığı yöntemde, izlenen diğer para birimini daha hassas izlemek ve hesaplarda kolaylık sağlamak için yapılmıştır.

TL'nin JPY karşısında bugünkü pozisyonu;

100 JPY = 5,3520 TL

Bunu diğer şekliyle ifade etseydi;

1 JPY = 0,0535 TL olarak belirtmesi gerekecekti.

Verilerdeki hassasiyet nedeni ve hesaplamalarda 0,0535 gibi çok küçük nümerik ifadelerle çalışmanın getireceği zorluklardan kaçınmak için, eşitliğin her 2 tarafını da 100 ile çarparak daha kullanışlı bir hale getirilmiştir.

.
 
Son düzenleme:

klop01

Altın Üye
Katılım
19 Aralık 2016
Mesajlar
624
Excel Vers. ve Dili
2021 Türkçe 64 Bit
Çok sağ olun ayrıntılı açıklama için.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,757
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Merhaba Haluk Bey
Merkez bankasındaki döviz kurları ve çapraz kurlar böyle
ben çapraz kurlardaki verileri aynı buradan alıyorum.
Yeni Bit Eşlem Resmi1.jpg

Yeni Bit Eşlem Resmi2.jpg
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,268
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Merhaba Halit Bey,

Haklısınız, ben XML tablosunda JPY ve IRR için Unit=100 görünce, dalgınlığa gelmişim.... Halbuki "Unit" elemanı sadece yabancı kurların TL karşısındaki değerleri için kullanılıyor.

"HTML" sayfasının hazırlanışına esas alınan "XSL" kodlarında tüm çapraz kurlar için aşağıdaki kullanılmış;

Kod:
<td class="para birim">1</td>
.
 
Son düzenleme:

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,757
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
1 nolu mesajdaki dosya güncellendi
 
Üst