Tefas.gov.tr Veri Çekme Çalışması - maboc - 20/03/2024
merhabalar
araştırmalar sonucu tefas.gov.tr den excelle nasıl veri çekilir çalışması yaptım. yaptım ama bir kaç eksiği gideremedim bu konuda yardımınızı bekliyorum
günlük getiri sütunu her veri yüklemesinde yenileniyor karışık bir liste halinde geliyor
örnek %0,0000 sayı olarak gelmesi gerekirken veriler bu tarz geliyor
%2,86
496,3400
49634%
bu kod satırına ne yazmam gerekiyor ki böyle veri gelsin %0,0000
'Günlük Getiri
Sheets("Fon").Range("E" & i) = htmldoc.getElementsByTagName("span")(4).innerText
teşekkür ederim yardımlarınız için
kod bilgileri ve Excel dosyası
Kod:
Sub F()
Dim i, sonsat As Integer
Dim url As String
Dim h As Integer
Dim j As Integer
Dim a As String
Dim xmlreq As New MSXML2.XMLHTTP60
Dim htmldoc As New MSHTML.HTMLDocument
sonsat = Sheets("Fon").Range("A10000").End(xlUp).Row
For i = 6 To sonsat
On Error Resume Next
url = Sheets("Fon").Range("A" & i)
xmlreq.Open "GET", url, False
xmlreq.send
If xmlreq.Status <> 200 Then
MsgBox "Sayfaya Ulaşılamadı"
Exit Sub
End If
htmldoc.body.innerHTML = xmlreq.responseText
'FON Başlık
Sheets("Fon").Range("C" & i) = htmldoc.getElementById("MainContent_FormViewMainIndicators_LabelFund").innerText
'FON FİYAT
Sheets("Fon").Range("D" & i) = htmldoc.getElementsByTagName("span")(3).innerText
'FON KOD
Sheets("Fon").Range("B" & i) = htmldoc.getElementsByClassName("fund-profile-item")(0).innerText
'Günlük Getiri
Sheets("Fon").Range("E" & i) = htmldoc.getElementsByTagName("span")(4).innerText
'Kategori
Sheets("Fon").Range("F" & i) = htmldoc.getElementsByTagName("span")(7).innerText
Next
End Sub
RE: Tefas.gov.tr Veri Çekme Çalışması - atoykan - 23/03/2024
Merhaba Sayın @maboc
kodunuzu aşağıdaki gibi güncelleyin.
Dim i As Integer, sonsat As Integer, h As Integer, j As Integer, a As String
Dim url As String
Dim xmlreq As Object
Dim htmldoc As New MSHTML.HTMLDocument
Set xmlreq = CreateObject("MSXML2.XMLHTTP.6.0")
sonsat = Sheets("Fon").Range("A10000").End(xlUp).Row
For i = 6 To sonsat
On Error Resume Next
url = Sheets("Fon").Range("A" & i)
xmlreq.Open "GET", url, False
xmlreq.send
If xmlreq.Status <> 200 Then
MsgBox "Sayfaya Ulaşılamadı"
Exit Sub
End If
htmldoc.body.innerHTML = xmlreq.responseText
'FON Başlık
Sheets("Fon").Range("C" & i) = htmldoc.getElementById("MainContent_FormViewMainIndicators_LabelFund").innerText
'FON FİYAT
Sheets("Fon").Range("D" & i) = htmldoc.getElementsByTagName("span")(3).innerText
'FON KOD
Sheets("Fon").Range("B" & i) = htmldoc.getElementsByClassName("fund-profile-item")(0).innerText
'Günlük Getiri
Dim günlük_getiri As String, temiz_günlük_getiri As String, tveri As Double
günlük_getiri = htmldoc.getElementsByTagName("span")(4).innerText
temiz_günlük_getiri = Replace(günlük_getiri, "%", "")
tveri = CDbl(temiz_günlük_getiri)
Sheets("Fon").Range("E" & i).Value = tveri / 100
Sheets("Fon").Range("E" & i).NumberFormat = "0.00000%"
'Kategori
Sheets("Fon").Range("F" & i) = htmldoc.getElementsByTagName("span")(7).innerText
Next
RE: Tefas.gov.tr Veri Çekme Çalışması - maboc - 24/03/2024
(23/03/2024, 23:31)atoykan yazdı: Merhaba Sayın @maboc
kodunuzu aşağıdaki gibi güncelleyin.
Dim i As Integer, sonsat As Integer, h As Integer, j As Integer, a As String
Dim url As String
Dim xmlreq As Object
Dim htmldoc As New MSHTML.HTMLDocument
Set xmlreq = CreateObject("MSXML2.XMLHTTP.6.0")
sonsat = Sheets("Fon").Range("A10000").End(xlUp).Row
For i = 6 To sonsat
On Error Resume Next
url = Sheets("Fon").Range("A" & i)
xmlreq.Open "GET", url, False
xmlreq.send
If xmlreq.Status <> 200 Then
MsgBox "Sayfaya Ulaşılamadı"
Exit Sub
End If
htmldoc.body.innerHTML = xmlreq.responseText
'FON Başlık
Sheets("Fon").Range("C" & i) = htmldoc.getElementById("MainContent_FormViewMainIndicators_LabelFund").innerText
'FON FİYAT
Sheets("Fon").Range("D" & i) = htmldoc.getElementsByTagName("span")(3).innerText
'FON KOD
Sheets("Fon").Range("B" & i) = htmldoc.getElementsByClassName("fund-profile-item")(0).innerText
'Günlük Getiri
Dim günlük_getiri As String, temiz_günlük_getiri As String, tveri As Double
günlük_getiri = htmldoc.getElementsByTagName("span")(4).innerText
temiz_günlük_getiri = Replace(günlük_getiri, "%", "")
tveri = CDbl(temiz_günlük_getiri)
Sheets("Fon").Range("E" & i).Value = tveri / 100
Sheets("Fon").Range("E" & i).NumberFormat = "0.00000%"
'Kategori
Sheets("Fon").Range("F" & i) = htmldoc.getElementsByTagName("span")(7).innerText
Next
teşekkür ederim yardımınız allah razı olsun
RE: Tefas.gov.tr Veri Çekme Çalışması - atoykan - 24/03/2024
Rica ederim, iyi çalışmalar.
|