我试图让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
1 回答
如果真假则逆转了 . 在另一个网页上意外地找到了正确的答案 . 现在就像一个魅力 .
evt.initEvent“change”,True,False