我正在尝试让VBA Excel通过网页上的数据表进行导航。 该网页将在第1页打开。我可以使用VBA Excel代码更新网页编号。 (至少看起来它的工作。) 但我似乎无法获取适用于我请求的页面的数据显示在屏幕上。如果我用鼠标点击下拉页面按钮,按钮似乎已经死了"。我可以用鼠标OK成功选择另一个页面,然后我可以选择我尝试用Excel VBA选择的页码。 我正在使用IE浏览器。版本11我相信使用调度事件。 我一直在尝试各种各样的技巧,我在网上研究没有成功。 以下代码是我最近的尝试。我希望有比我更多经验的人可以提供帮助。提前谢谢。
Sub ExtractTablesData()
Dim IE As Object
Dim obj As Object
Dim elemCollection As Object
Dim evt
Set IE = CreateObject("InternetExplorer.Application")
With IE
.Visible = True
.navigate ("http://My Web Page")
While IE.readystate <> 4 ' wait for pages to download
DoEvents
Wend
Do While IE.busy: DoEvents: Loop ' make sure page has downloaded
Set elemCollection = IE.Document.getelementsbytagname("TABLE")
Set evt = IE.Document.createEvent("HTMLEvents")
evt.initEvent "change", False, True
IE.Document.getElementsbyClassName("pager-select")(0).selectedIndex = 5
' trying to get the 6th page of data
IE.Document.getElementsbyClassName("pager-select")(0).Click
IE.Document.getElementsbyClassName("pager-select")(0).dispatchEvent (evt)
Application.Wait (Now + TimeValue("0:00:02"))
Do While IE.busy: DoEvents: Loop ' make sure page has downloaded
While IE.readystate <> 4 ' wait for pages to download
DoEvents
Wend
End With ' IE
答案 0 :(得分:0)
真假被逆转了。 在另一个网页上意外找到正确答案。 现在就像一个魅力。
evt.initEvent&#34;更改&#34;,True,False