excel的VBA – macros点击IE的下一页

我不知道如何点击此页面上的“下一个100”button:

http://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0000898293&type=&dateb=&owner=exclude&count=100

具体这个部分:

<form> <table border="0" width="100%"> <tbody><tr> <td>Items 1 - 100&nbsp;&nbsp;<a href="/cgi-bin/browse-edgar?action=getcompany&amp;CIK=0000898293&amp;type=&amp;dateb=&amp;owner=exclude&amp;start=0&amp;count=100&amp;output=atom"><img src="/images/rss-feed-icon-14x14.png" alt="0000898293 Filings" border="0" align="top"> RSS Feed</a></td> <td style="text-align: right;"> <input type="button" value="Next 100" onclick="parent.location='/cgi-bin/browse-edgar?action=getcompany&amp;CIK=0000898293&amp;type=&amp;dateb=&amp;owner=exclude&amp;start=100&amp;count=100'"></td> </tr> </tbody></table> </form> 

下面是我在Excel VBA中已经厌倦了,我没有一个强烈的理解,并知道如何点击一个button,如果我可以看到元素ID。

 Sub dates()Dim IE As New InternetExplorer IE.Visible = True IE.navigate "http://www.sec.gov/cgi-bin/browse-edgar?CIK=JBL&owner=exclude&action=getcompany" Do DoEvents Loop Until IE.readyState = READYSTATE_COMPLETE Dim Doc As HTMLDocument Set Doc = IE.document Doc.getElementById("count").Value = 100 Doc.forms.Item(0).submit Dim objTag As Object For Each objTag In Doc.getElementsByTagName(strTagName) If InStr(objTag.outerHTML, "Next 100") > 0 Then objTag.Click objTag.FireEvent ("onclick") Exit For End If Next 

这应该为你工作:

 Sub dates() Dim IE As New InternetExplorer Set IE = CreateObject("InternetExplorer.Application") IE.Visible = True IE.Navigate "http://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0000898293&type=&dateb=&owner=exclude&count=100" Do DoEvents Loop Until IE.ReadyState = READYSTATE_COMPLETE With IE.document Set elems = .getElementsByTagName("input") For Each e In elems If e.Type = "button" And e.Value = "Next 100" Then e.Click Exit For End If Next e End With End Sub 

如果您使用以下链接:

 http://www.sec.gov/cgi-bin/browse-edgar?CIK=JBL&owner=exclude&action=getcompany 

你必须检查

 If objCollection(i).Type = "button" And objCollection(i).Value = "Next 40" Then