Sayın hocalarım; Ek teki dosyada web sayfasının belirli bir bölümü aldım ve oradaki verileri "aliste" formunda görebileceğiniz gibi verileri alabiliyorum ama "aliste1" formunda web sayfasının tamamını aldığımda hata veriyor.
İlgili kodları aşağıdaki ile değiştiriniz.
Dim IE As Object
Dim HTML_Body As Object, HTML_Tables As Object, MyTable As Object
Dim HTML_TableRows As Object
Dim X, Y, Z As Integer
Set IE = Me.WebBrowser1
Set HTML_Body = IE.Document.All
Set HTML_Tables = HTML_Body.tags("Table")
Set MyTable = HTML_Tables(41)
Set HTML_TableRows = MyTable.GetElementsByTagName("td")
For Each MyRow In HTML_TableRows
X = X + 1
Next
Z = (X - 8) / 8
ReDim sorgu(8, Z - 1)
X = 0
For X = 0 To Z - 1
Y = 1 + (1 * X)
sorgu(0, X) = MyTable.Rows(Y).Cells(1).innerText
sorgu(1, X) = MyTable.Rows(Y).Cells(2).innerText
sorgu(2, X) = MyTable.Rows(Y).Cells(3).innerText
sorgu(3, X) = MyTable.Rows(Y).Cells(4).innerText
sorgu(4, X) = MyTable.Rows(Y).Cells(5).innerText
Next X
Dim rc As DAO.Recordset
Set rc = CurrentDb.OpenRecordset("tliste1")
X = 0
For X = 0 To Z - 1
rc.AddNew
rc![tcno] = sorgu(0, X)
rc![adi] = sorgu(1, X)
rc![asyd] = sorgu(2, X)
rc![okulno] = sorgu(3, X)
rc![sinif] = Left(sorgu(4, X), InStr(1, sorgu(4, X), ".") - 1)
rc![sube] = Left(Trim(Mid(sorgu(4, X), InStr(1, sorgu(4, X), "/") + 1)), 1)
rc.Update
Next X
Set rc = Nothing
GoTo SafeExit:
SafeExit:
Set HTML_Body = Nothing
Set HTML_Tables = Nothing
Set MyTable = Nothing
Set HTML_TableRows = Nothing
Set HTML_TableDivisions = Nothing
Set IE = Nothing
Sayın ozanakkaya
Öncelikle ilginiz için teşekkür ederim. Kodları değiştirdim fakat çalışmadı. Örnek üzerinde yapmanız mümkün mü acaba?
2. mesajdaki kodu tekrar deneyiniz. Son mesajınız düzeltilmiştir. Mesajınızı alıntı içerisine yazmayınız.
Sayın ozanakkaya; yardımların için teşekkür ederim. Veri aktarma işi çalışıyor. Alan ismini de alabilir miyiz acaba. Ayrıca aktarma bitince aktarma işleminin tamamlandığına dair mesajı nasıl verdirebiliriz?
sayın idrisy,
bahsettiğiniz talebinize yönelik olarak;
Kod:
Next X
'... (kast edilen satır burasıdır)
Set rc = Nothing
satırları arasına
Kod:
Msgbox("aktarım tamamlanmıştır",vbInformation,"AKTARIM MESAJI"
gibi bir mesaj kod ifadesi yazabilirsiniz.bilginize.
iyi çalışmalar,saygılar.