• DİKKAT

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

Döngüden çıkma

  • Konbuyu başlatan Konbuyu başlatan askm
  • Başlangıç tarihi Başlangıç tarihi

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,746
Excel Vers. ve Dili
2010-2016
Kolay gelsin.
Do Until .readyState = 4: DoEvents: Loop
Do While .Busy: DoEvents: Loop
döngüsü ile işlem yapıyorum. Belli bir süre içerisinde işlem olmazsa döngüden çık deme imkanı var mı?
(Web sayfası yükleme bekleme kodu. Eğer web sayfası 1 dk içerisinde yüklenmezse işlemi bitir deme imkanı var mı?)
İlgilenen arkadaşlara şimdiden teşekkürler.
 
Aşağıdaki şekilde çözdüm.

Kod:
Sub Test()
    'Haluk - 17/02/2019
    'E-Posta: sa4truss@gmail.com
    '
    Dim baslangic, bitis As Date
    baslangic = Time
    Dim ie As Object
   
    Set ie = CreateObject("InternetExplorer.Application")
    ie.navigate "https://www.tcmb.gov.tr/wps/wcm/connect/tr/tcmb+tr/main+page+site+area/bugun"
    ie.Visible = True

Do While ie.Busy Or _
    ie.readyState <> 4
    DoEvents
    bitis = Time
    fark = Format(bitis - baslangic, "hh:mm:ss")
    fark = CDate(fark)
    If fark > "00:00:60" Then '1 dk bekliyor 1 dk sonrasında döngüden çıkıyor. Eğer 1 dk öncesinde sayfa yüklenirse zaten sorun yok.
        GoTo Devam
    End If
Loop

'    Do While IE.Busy: DoEvents: Loop
'    Do While IE.readyState <> 4: DoEvents: Loop
'    Do While Not IE.readyState = 4
'        DoEvents
'    Loop
'
    Do
        If ie.document.getElementsByClassName("deger").Length > 0 Then Exit Do
    Loop
   
    KurAlis = ie.document.getElementsByClassName("deger")(2).innerText
    KurSatis = ie.document.getElementsByClassName("deger")(1).innerText
    MsgBox "KurAlis = " & KurAlis & vbCrLf & vbCrLf & "KurSatis =" & KurSatis
Devam:
    ie.Quit
    Set ie = Nothing
   
End Sub
 
Son düzenleme:
Geri
Üst