• DİKKAT

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

Webden veri alırken sayfa yüklenmeden bilgi mesajını alması

Katılım
18 Şubat 2012
Mesajlar
25
Excel Vers. ve Dili
Microsoft Office 2013 türkçe
Kullanıcı adı ve şifre girilerek kullanılan sistemde aşağıdaki makroyu kullanarak webden veri çekmeye çalışıyorum. Explorerda birkaç saniye sonra yüklenen veri excelden makro ile çekerken sayfanın yüklenme aşamasındaki "Yükleniyor..." yazısını excele çekiyor, veriyi çekmiyor. "Application.Wait (Now + TimeValue("0:00:10"))" kullanmama rağmen veri alamadım. Bu konuda görüşlerinizi rica ediyorum.

Not:Ekran görüntüsü eklenmiştir.

Sub data()
web = Array("http://????.????????????.com/ISLEMLER/loginbak.asp?user_username=xxxxxxxxxx&user_password=123456")
For a = 0 To UBound(web)
Set ie = CreateObject("InternetExplorer.Application")
With ie
.Visible = True
.Navigate web(a)
Do Until .ReadyState = 4: DoEvents: Loop
Do While .Busy: DoEvents: Loop
End With
Next
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://????.????????????.com/ISLEMLER//???????????.asp", Destination:=Range( _
"$A$1"))
.Name = "?????????????"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = True
.BackgroundQuery = True
.RefreshStyle = xlOverwriteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 2
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = "1"
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = True
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=True
Application.Wait (Now + TimeValue("0:00:10"))
End With
End Sub
 

Ekli dosyalar

  • İsimsiz 3.jpg
    İsimsiz 3.jpg
    57.6 KB · Görüntüleme: 9
  • İsimsiz 5.jpg
    İsimsiz 5.jpg
    113.9 KB · Görüntüleme: 10
Kodlar çözüm üretmek için çok yeterli değil.
Navigate yapmak için neden döngü kullnadığınızı anlamadım.

Next den sonrasına bu kodu ekleyip deneyin.

"yüklenen sayfadaki bir metin" e sayfa yüklendiğinde görünen bir metni yazın

Kod:
basla:
   Call bekle
     If InStr(ie.document.body.innerText, "yüklenen sayfadaki bir metin") = 0 Then
      GoTo basla
   End If
Module aşağıdaki kodu ekleyin.

Kod:
Sub bekle()
    With ie
        Do Until .readyState = 4: DoEvents: Loop
        Do While .Busy: DoEvents: Loop
    End With
End Sub
 
Kodlar çözüm üretmek için çok yeterli değil.
Navigate yapmak için neden döngü kullnadığınızı anlamadım.

Next den sonrasına bu kodu ekleyip deneyin.

"yüklenen sayfadaki bir metin" e sayfa yüklendiğinde görünen bir metni yazın

Kod:
basla:
   Call bekle
     If InStr(ie.document.body.innerText, "yüklenen sayfadaki bir metin") = 0 Then
      GoTo basla
   End If
Module aşağıdaki kodu ekleyin.

Kod:
Sub bekle()
    With ie
        Do Until .readyState = 4: DoEvents: Loop
        Do While .Busy: DoEvents: Loop
    End With
End Sub

Sayın asri Cevabınız için teşekkür ederim. Denedim ama yapamadım sanırım.
 
Geri
Üst