VBAを使用してWebページ内の表形式のデータを取得しようとしています。オープンに成功し、ログインしてテーブルエリアに移動しましたが、Excelのテーブルの日付をコピーすることができません!理由はVBA(「ID」タグを持たない)を使用してWebページからテーブルを抽出できません
<table cellspacing="0" cellpadding="0" class="grid" style="width: 930px;">
また、ウェブページから、それが唯一の「クラス」プロパティの下 を持っていることは、「ID」またはそれに割り当てられた「名前」タグを持たないテーブルのソースコードされている、私が使用することはできませんウェブページとしてのWebクエリは、ログインのためのユーザー名とパスワードを持っています
私は以下のいくつかのコードを試してみました!
Set IE = CreateObject("InternetExplorer.application")
IE.Visible = True
IE.navigate ThisWorkbook.Sheets("Sheet4").Range("Link")
Do Until Not IE.busy: DoEvents: Loop
Set doc = IE.document
Do While doc.ReadyState <> "complete": DoEvents: Loop
IE.document.all("new_username").Value = ThisWorkbook.Sheets("Sheet4").Range("User")
IE.document.all("new_password").Value = ThisWorkbook.Sheets("Sheet4").Range("Pass")
IE.document.all("ok").Click
Do While doc.ReadyState <> "complete": DoEvents: Loop
Set ElementCol = IE.document.getElementsByTagName("a")
For Each link In ElementCol
If link.innerHTML = "Gateway transactions" Then
link.Click
End If
Next
Application.Wait (Now + TimeValue("0:00:04"))
IE.document.getelementsbyname("new_store_id").Item(1).Value = ThisWorkbook.Sheets("Sheet4").Range("MID")
IE.document.getelementsbyname("new_tsrch_from_d").Item(0).Value = ThisWorkbook.Sheets("Sheet4").Range("Fromdate")
IE.document.getelementsbyname("new_tsrch_from_m").Item(0).Value = ThisWorkbook.Sheets("Sheet4").Range("Frommon")
IE.document.getelementsbyname("new_tsrch_from_y").Item(0).Value = ThisWorkbook.Sheets("Sheet4").Range("Fromyear")
IE.document.getelementsbyname("new_tsrch_to_d").Item(0).Value = ThisWorkbook.Sheets("Sheet4").Range("Todate")
IE.document.getelementsbyname("new_tsrch_to_m").Item(0).Value = ThisWorkbook.Sheets("Sheet4").Range("Tomon")
IE.document.getelementsbyname("new_tsrch_to_y").Item(0).Value = ThisWorkbook.Sheets("Sheet4").Range("ToYear")
IE.document.getelementsbyname("new_tsrch_type").Item(0).Value = "15"
Application.Wait (Now + TimeValue("0:00:02"))
Set tags = IE.document.getElementsByTagName("input")
For Each tagx In tags
If tagx.Name = "ok" Then
tagx.Click
Exit For
End If
Next
Set doc = IE.document 'From here the code starts for extracting table
Set tbl = doc.getelementsbyclassname("grid")
GetTableData tbl, Sheet1.Range("A1")
End Sub
Sub GetTableData(ByRef tbl, rng As Range)
Dim cl As Object
Dim rw As Object
Dim I As Long
For Each rw In tbl.Rows ' In this line i am getting an error message "Run tine Error 438"Object Doesn't Support This Property or Method"
For Each cl In rw.Cells
rng.Value = cl.outerText
Set rng = rng.Offset(, 1)
Next cl
Set rng = rng.Parent.Cells(rng.Row + 1, 1)
Next rw
rng.Parent.Cells.WrapText = False
End SuB
私はいくつかの人が私を助けてくれることを願っています!前もって感謝します !!!