1
因此,由於受到約束,我需要使用excel vba解析一些醜陋的html。 HTML的問題在於它沒有元素ID。我有一個擁有許多無標籤表格的頁面,每個表格都有幾行。我可以建立的唯一的事情是,我需要在其中一個單元中存在標識符。每當ID「xtu_id」作爲表格的一行中的單元格中的值出現時,我想要從該行中提取數據。所以它看起來像這樣:使用excel vba解析HTML的錯誤
<tr>
<td>
col1
</td>
<td>
col2
</td>
<td>
xtu_id
</td>
<td>
col4
</td>
</tr>
現在,我看到xtu_id此行存在,我想該行的所有單元格轉儲到一個Excel工作表。以下是我從閱讀其他職位計算器使用:
Sub CommandButton1_Click()
Dim appIE As InternetExplorerMedium
Set appIE = New InternetExplorerMedium
With appIE
.Navigate "https://my_website"
.Visible = True
End With
Do While appIE.Busy Or appIE.ReadyState <> 4
DoEvents
Loop
Set mydata = appIE.Document.getElementsByTagName("tr")
For Each e In mydata
For Each c In e
If c.Cells().innerText Like "xtu_id" Then
myValue = c.Cells().innerText
MsgBox (myValue)
End If
Next c
Next e
Set appIE = Nothing
End Sub
此代碼的工作,直到我到了[每個...]聲明,我有麻煩的每一行的每個單元循環來搜索「 xtu_id「文本。任何想法如何做到這一點?
感謝您的快速回復斯科特,我換,在並沒有得到一個值,但該代碼並不會報錯了。也許我的if語句不是真的 – barker
你是否逐行並調試?一個[回答](http://stackoverflow.com/questions/43458256/retreiving-td-tag-from-table-on-website-using-vba-and-put-int-excel/43459103#43459103)我早前提供可能有幫助。 –
感謝Scott的幫助,於是我將c.innertext的e.innertext換成了拉單元格的值,並得到了我以後的內容。你的回答是正確的,這是我的錯,因爲我不清楚我想拉什麼字符串。再次感謝! – barker