首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vba getElementById导致运行时错误'424‘

Vba getElementById导致运行时错误'424‘
EN

Stack Overflow用户
提问于 2017-02-14 03:51:52
回答 2查看 486关注 0票数 1

如果有人能帮上忙的话真的很感谢。这部分代码总是会遇到运行时错误:

HTML部分在图片中:

感谢您的关注。

代码语言:javascript
复制
Sub HTML_Table_To_Excel()
    Dim objIE As Object
    Set objIE = CreateObject("InternetExplorer.application")
    With objIE
        .Visible = True
        .navigate ("http://www.global-rates.com/interest-rates/libor/libor.aspx")
    End With
    While objIE.Busy
    Wend
    
    Dim HTMLDoc As Object
    Set HTMLDoc = objIE.document
    
    Dim EuroButton As Object
    Set EuroButton = HTMLDoc.getElementById("btn_eur")
    
    objIE.Quit
    Set objIE = Nothing
......
End Sub
EN

回答 2

Stack Overflow用户

发布于 2017-09-07 22:33:11

它不是一个元素ID --它是一个标记名;当您需要对它进行排序时,使用Set EuroButton = HTMLDoc.getElementsByTagName("btn_eur")EuroButton(0).[command here]

票数 0
EN

Stack Overflow用户

发布于 2018-12-19 00:15:31

你对你的选择器很满意。它确实有这个id。问题是,在尝试单击之前,您需要适当地等待页面加载。试试下面的方法。我还更新到了.navigate2,并删除了不必要的()。

代码语言:javascript
复制
Option Explicit
Public Sub HtmlTableToExcel()
    Dim objIE As Object, HTMLDoc As Object, euroButton As Object
    Set objIE = CreateObject("InternetExplorer.application")
    With objIE
        .Visible = True
        .Navigate2 "http://www.global-rates.com/interest-rates/libor/libor.aspx"

        While .Busy Or .readyState < 4: DoEvents: Wend

        Set HTMLDoc = .document
        Set euroButton = HTMLDoc.getElementById("btn_eur")
        euroButton.Click
        While .Busy Or .readyState < 4: DoEvents: Wend
         Stop '<==delete me later
        '-----
        '.Quit
    End With
End Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42212386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档