【问题标题】:VBA parsing of href对href的VBA解析
【发布时间】:2014-02-18 10:20:58
【问题描述】:

我已经googled 并且还在 Stack 上搜索了许多帖子,其中一些有趣的帖子对此1,2,3,4

我会告诉你我所追求的。我选择了a random site 并复制了几行(从 155 到 174)

<ul>
<li><a href="/wiki/B.A.C._I" title="B.A.C. I" class="mw-redirect">B.A.C. I</a></li>
<li><a href="/wiki/B.A.C._II" title="B.A.C. II" class="mw-redirect">B.A.C. II</a></li>
<li><a href="/wiki/B.A.C._III" title="B.A.C. III" class="mw-redirect">B.A.C. III</a></li>
<li><a href="/wiki/B.A.C._IV" title="B.A.C. IV" class="mw-redirect">B.A.C. IV</a></li>
<li><a href="/wiki/B.A.C._V" title="B.A.C. V" class="mw-redirect">B.A.C. V</a></li>
<li><a href="/wiki/B.A.C._VI" title="B.A.C. VI" class="mw-redirect">B.A.C. VI</a></li>
<li><a href="/wiki/B.A.C._VII" title="B.A.C. VII" class="mw-redirect">B.A.C. VII</a></li>
<li><a href="/wiki/B.A.C._VII_Mk.2" title="B.A.C. VII Mk.2" class="mw-redirect">B.A.C. VII Mk.2</a></li>
<li><a href="/wiki/B.A.C._VII_Planette" title="B.A.C. VII Planette" class="mw-redirect">B.A.C. VII Planette</a></li>
<li><a href="/wiki/B.A.C._VIII" title="B.A.C. VIII" class="mw-redirect">B.A.C. VIII</a></li>
<li><a href="/wiki/B.A.C._VIII_Bat-Boat" title="B.A.C. VIII Bat-Boat" class="mw-redirect">B.A.C. VIII Bat-Boat</a></li>
<li><a href="/wiki/B.A.C._IX" title="B.A.C. IX" class="mw-redirect">B.A.C. IX</a></li>
<li><a href="/wiki/B.A.C._Cupid" title="B.A.C. Cupid" class="mw-redirect">B.A.C. Cupid</a></li>
<li><a href="/wiki/B.A.C._Drone" title="B.A.C. Drone" class="mw-redirect">B.A.C. Drone</a></li>
<li><a href="/wiki/B.A.C._Super_Drone" title="B.A.C. Super Drone" class="mw-redirect">B.A.C. Super Drone</a></li>
<li><a href="/wiki/B.A._Swallow_2" title="B.A. Swallow 2" class="mw-redirect">B.A. Swallow 2</a></li>
<li><a href="/wiki/B.A._Eagle_2" title="B.A. Eagle 2" class="mw-redirect">B.A. Eagle 2</a></li>
<li><a href="/wiki/B.A._Double_Eagle" title="B.A. Double Eagle" class="mw-redirect">B.A. Double Eagle</a></li>
</ul>

我需要在 HTML 标记之间找到一个值,例如 B.A.C. VII,然后使用 VBA 实际进入包含 B.A.C. VII 的行项目的链接 href。在我在那里导航后,我需要在字符串中获取结果 URL。请记住,如果可能的话,我需要非常喜欢绑定。我试图写一个循环,但没有成功...

亲爱的罗恩

调试器在第一行停止并... 它给了我Run-time error '424' 但是我们到处都有一个对象限定符......

感谢观看我的问题

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    这个循环对我有用。

    Sub test()
    ' open IE, navigate to the website of interest and loop until fully loaded
    Set IE = CreateObject("InternetExplorer.Application")
    my_url = "http://www.xyz.com"
    
    With IE
        .Visible = True
        .navigate my_url
        .Top = 50
        .Left = 530
        .Height = 400
        .Width = 400
    
    Do Until Not IE.Busy And IE.readyState = 4
        DoEvents
    Loop
    
    End With
    
    ' Find the desired url and click
    Set Results = IE.document.getElementsByTagName("a")
    For Each itm In Results
        If itm.outerhtml = "B.A.C. VII" Then
            itm.Click
    
            Do Until Not IE.Busy And IE.readyState = 4
                DoEvents
            Loop
            Exit For
        End If
    Next
    End Sub
    

    【讨论】:

    • 查看this 中的问题,了解如何创建和分配带有内容的IE 对象。出现您的错误是因为您的宏中的 IE 对象既未定义也未添加任何内容。问题是使用搜索词“vba 抓取网页”弹出的第一个问题。
    • 需要定义的是IE?我认为Results 是。一旦我检查了这个线程,就会回到你身边。谢谢
    • 在我打开和导航 IE 的答案中添加了一个前置部分
    猜你喜欢
    • 2015-05-09
    • 2016-11-17
    • 2018-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-12
    • 1970-01-01
    • 2018-02-23
    相关资源
    最近更新 更多