AccessTr.neT
Tefas.gov.tr Veri Çekme Çalışması - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Tefas.gov.tr Veri Çekme Çalışması (/konu-tefas-gov-tr-veri-cekme-calismasi.html)



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.