Option Explicit
Sub Sample()
Dim objIe As InternetExplorerMedium
Dim xobj As Variant
Dim links As Variant
Dim link As String
Dim lnk As Variant
Dim rc As Integer
Set objIe = New InternetExplorerMedium
objIe.Visible = True
objIe.navigate "C:\Users\SOURABH\Desktop\test.html"
Do While objIe.Busy And Not objIe.readyState = 4
Application.StatusBar = "Loading.."
DoEvents
Loop
MsgBox objIe.document.body.innerHTML
Set xobj = objIe.document.getElementByTagName("myDiv")
Set xobj = xobj.getElementsByClassName("myTable").Item(0)
Set xobj = xobj.getElementsByClassName("data")(0)
For Each lnk In links
MsgBox "lnk got accessed"
If lnk.className = "myTable" Then
Sheets("Sheet1").Cells(3, 1).Value = lnk(0).innerText
Exit For
End If
Next
MsgBox xobj.innerText
Set xobj = Nothing
objIe.Quit
Set objIe = Nothing
End Sub
而我的HTML:VBA的html頁面訪問宏的innerText
<div id="myDiv">
<table class="myTable">
<tbody>
<tr>
<td>Text1:</td>
<td class="data"><strong>0.51</strong></td>
</tr>
<tr>
<td>Text2:</td>
<td class="data"><strong>2199</strong></td>
</tr>
</tbody>
</table>
</div>
我可以使用MSGBOX命令看到的innerText,但同時在innerText屬性獲取類名我得到一個錯誤:
object doesn't support this property in set xobj = objIe.document.getElementByTagName("myDiv") line
請幫我找到一種方式來獲得類的innerText「數據」
我對象好奇你爲什麼使用vba訪問html dom? –
其實我試圖做一些自動化,以在沒有手動簽入郵件服務器的情況下獲得新的郵件提醒的通知。請建議更好的選項來訪問html源代碼。你的建議總是值得讚賞的。 –