• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

İNTERNETTEN VERİ ÇEKME

yamahato

Altın Üye
Katılım
20 Mayıs 2009
Mesajlar
236
Excel Vers. ve Dili
excel 2007
Ustalarım https://www.doviz.com/ isimli internet sitesinde üst taraftaki yatırım araçlarının anlık fiyatlarını ve değişim oranlarını
excel sayfamda ki ilgili hücrelere (her 15 dakikada bir güncellenecek şekilde) almak istiyorum. Yardımcı olabilir misiniz?
 

Ekli dosyalar

Merhaba günaydın herkese sorunumu çözmeme yardımcı olabilir misiniz?
 
Ben bir kişinin benim sıkıntıma yardım edeceğine eminim.
 
Kod:
Sub Dongu()

Do
    Call Doviz
    Application.Wait (Now + TimeValue("0:15:00"))

Loop
End Sub
Sub Doviz()
On Error Resume Next
Dim IE

 Columns("A:A").Select
 Selection.ClearContents
 Range("A1").Select

   Set IE = CreateObject("InternetExplorer.Application")
   IE.navigate "https://www.doviz.com/"
   Do While IE.readyState <> READYSTATE_COMPLETE
    Application.StatusBar = "Loading website…"
    DoEvents
   Loop

sat = 1
For Each htmlElement In IE.document.getElementsByTagName("span")
 Range("A" & sat).Value = Replace(htmlElement.innerText, ",", ".")
 sat = sat + 1
Next
End Sub
 
Loop içinde DoEvents kullanılması yararlı olabilir.
 
Ustalarım https://www.doviz.com/ isimli internet sitesinde üst taraftaki yatırım araçlarının anlık fiyatlarını ve değişim oranlarını
excel sayfamda ki ilgili hücrelere (her 15 dakikada bir güncellenecek şekilde) almak istiyorum. Yardımcı olabilir misiniz?
Yukardaki dosyanın doğru dosya olduğuna eminmisiniz? bana ilgisiz gibi geldi.
 
Kod:
Sub Dongu()

Do
    Call Doviz
    Application.Wait (Now + TimeValue("0:15:00"))

Loop
End Sub
Sub Doviz()
On Error Resume Next
Dim IE

Columns("A:A").Select
Selection.ClearContents
Range("A1").Select

   Set IE = CreateObject("InternetExplorer.Application")
   IE.navigate "https://www.doviz.com/"
   Do While IE.readyState <> READYSTATE_COMPLETE
    Application.StatusBar = "Loading website…"
    DoEvents
   Loop

sat = 1
For Each htmlElement In IE.document.getElementsByTagName("span")
Range("A" & sat).Value = Replace(htmlElement.innerText, ",", ".")
sat = sat + 1
Next
End Sub


Sayın hocam yanlış dosya için özür dilerim. Doğrusu budur. Kodları u dosyaya yerleştireceğiz.
 

Ekli dosyalar

Yukardaki dosyanın doğru dosya olduğuna eminmisiniz? bana ilgisiz gibi geldi.

Kesinlikle hatalı doya çok çok özür dilerim. doğrusunu yükledim. Gene hatalı dosya yüklediysem yapıştırın tokatı. Saygılar. Tekrar özür dilerim.
 

Ekli dosyalar

Aşağıdaki dosyayı açınca, otomatik olarak 15 dakikada bir verileri alır.
Şimdi yenile butonuna tıklarsanız o an veri yenilenir.
Zaman aralığını değiştirmek isterseniz Thisworbook kısmındaki kodu, AutoTime = Now + TimeSerial(0, 15, 0) kısmındaki 15'i istediğiniz bir rakamla değiştirebilirsiniz.
Birde şu an piyasalar bitcoin hariç kapalı, açılınca sitedeki kodlar değişirmi bilmiyorum.
 

Ekli dosyalar

Aşağıdaki dosyayı açınca, otomatik olarak 15 dakikada bir verileri alır.
Şimdi yenile butonuna tıklarsanız o an veri yenilenir.
Zaman aralığını değiştirmek isterseniz Thisworbook kısmındaki kodu, AutoTime = Now + TimeSerial(0, 15, 0) kısmındaki 15'i istediğiniz bir rakamla değiştirebilirsiniz.
Birde şu an piyasalar bitcoin hariç kapalı, açılınca sitedeki kodlar değişirmi bilmiyorum.
Ustam dolar ve euro ve sterlin değerleri hatalı gösteriyor.
Yatırım Aracı Fiyat %Değişim Fark
GRAM ALTIN 532,6 %0,59 3,13
DOLAR ₺92.945,00 %-0,39 -0,04 Normalde 9,2945 göstermesi gerekiyor
EURO 108.376 %-0,12 ( -₺0,01 ) Normalde 10,8376 göstermesi gerekiyor
STERLİN 128.240 %0,01 0 Normalde 12,8240 göstermesi gerekiyor
BIST 100 1,432 %1,02 14,45
BITCOIN $61.831,62 %0,09 $56,83
GÜMÜŞ 7,11 %2,23 0,16
FAİZ 18,47 %0,00 0
 
Son düzenleme:
Merhaba, aslında verileri doğru alıyor ama nedense 9,2945 yerine 92.945 olarak gösteriyor yani noktalama hatası.
İlgili hücreleri metin olarak biçimlendirdim olay çözüldü.Dosya aşağıdadır
 
Verilerin "hızlı" ve "sayısal" olarak alındığı alternatif dosya ektedir....

.
 

Ekli dosyalar

Verilerin "hızlı" ve "sayısal" olarak alındığı alternatif dosya ektedir....

.
Merhaba Haluk bey
Daha önce Altın Piyasa sayfası ile yaptığınız dosya çalışıyordu bu çalışmadı bende hata veriyor..
Gördüğüm kadariyle aradaki fark diğerinde "objHTTP" kullanmışsınız bunda "HTTP"
"objHTTP" ye göre uyarlamak mümkünmü.

İyi çalışmalar
 
Dosya çalışıyor, sıkıntı yok .... sizde verdiği hata mesajı nedir ve hangi satırda ?

.
 
Dosya çalışıyor, sıkıntı yok .... sizde verdiği hata mesajı nedir ve hangi satırda ?

.
Merhaba
Ben IExplorer sebepli Securitiy HTTP yani HTTPS bağlantılarında uzun zamandır sıkıntı yaşıyorum
Bu sebepten başka Browser kullanıyorum. Çok uğraştım çözemedim. Hata büyük ihtimalle bu sebepten.
Aşağıdaki Dosyanızda bağlantı HTTP olduğundan problemsiz çalışıyor.

230995
 

Ekli dosyalar

İşin o kısmını önceki mesajlarda belirtildiği gibi "OnTime" metodunu düzgün bir şekilde kullanarak halledebilirsiniz....

.
 
Aşağıdaki yöntemle başka bir siteden yine benzer veriler alınabilmektedir.

Kodun içerisinde belirttiğim yerde, otomatik güncellemeyi yapabilirsiniz.

Örnek;

C#:
.RefreshPeriod = 15

Verileri ilk defasında aldıktan sonra, tablonun üzerinde sağ tıklayıp "Güncelle" menüsünü tıklarsanız, istediğiniz herhangibir an tablonuz güncellenir.


C#:
Sub Test()
    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;https://www.bloomberght.com/finansal-teknoloji", Destination:=Range("$A$1"))
        .Name = "Piyasalar"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlOverwriteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
       
        'Otomatik güncelleme için aşağıdaki satıra dakika cinsinden değer yazın...
        .RefreshPeriod = 0
       
        .WebSelectionType = xlSpecifiedTables
        .WebTables = 1
       
        .WebFormatting = xlWebFormattingNone
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
End Sub


.
 
Son düzenleme:
Geri
Üst