【问题标题】:excel VBA - Macro to click to the next page in IEexcel VBA - 在 IE 中单击到下一页的宏
【发布时间】:2016-06-02 18:47:55
【问题描述】:

我不知道如何点击此页面上的“Next 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

【问题讨论】:

    标签: excel internet-explorer vba


    【解决方案1】:

    这应该适合你:

    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
    

    【讨论】:

      猜你喜欢
      • 2016-05-31
      • 1970-01-01
      • 2022-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多