0
下面的宏在IE9中工作,但是當使用IE11時它停止在Do While
語句上。此外,Set HTMLDoc = ie.document
也不會出於同樣的原因。READYSTATE永遠不會獲得完成狀態
請注意,該網站將無法正常工作,因爲它僅限於某些用戶。
Option Explicit
Sub GetHTMLDocument()
Dim ie As New SHDocVw.InternetExplorer
Dim HTMLDoc As MSHTML.HTMLDocument
Dim HTMLInput As MSHTML.IHTMLElement
Dim htmlbuttons As MSHTML.IHTMLElementCollection
Dim htmlbutton As MSHTML.IHTMLElement
ie.Visible = True
ie.navigate "siiprodsrs01.db.sma"
Do While ie.readyState <> READYSTATE_COMPLETE
Loop
Set HTMLDoc = ie.document
Set HTMLInput = HTMLDoc.getElementById("what")
HTMLInput.Value = "12345"
Set htmlbuttons = HTMLDoc.getElementsByTagName("button")
For Each htmlbutton In htmlbuttons
Debug.Print htmlbutton.className, htmlbutton.tagName, htmlbutton.ID, htmlbutton.innerText
Next htmlbutton
htmlbuttons(0).Click
End Sub
不錯的一個!我如何使它與我想要訪問不同域中的元素的多個選項卡一起工作 - 只需向IF塊添加另一個案例? – PatricK
謝謝你的回覆。該宏沒有運行,因爲聲明瞭'Dim WithEvents ie InternetExplorer'。即使我已經在引用中勾選了Microsoft Internet控件,但它仍然以紅色顯示。感謝您的時間 – Dawood
@達伍德,您是否引用了Microsoft Internet Controls? – exSnake