excel VBA - 宏来点击IE浏览器中的下一页

时间:2016-06-01 23:39:50

标签: excel excel-vba internet-explorer vba

我无法弄清楚如何点击此页面上的“下一页100”按钮:

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中感到厌倦的事情,我对此并不十分了解,并知道如果我能看到元素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

1 个答案:

答案 0 :(得分:1)

这应该适合你:

<meta http-equiv="X-UA-Compatible" content="IE=edge" />

如果您使用以下链接:

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