首页 > 解决方案 > 通过 Excel VBA 粘贴 HTML 表格的问题,错误处理似乎不起作用

问题描述

我有一个客户报告说他在运行宏以更新货币汇率时在此行出现错误: ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:=False, NoHTMLFormatting:=True

PasteSpecial 方法失败。

主要问题是我什至无法复制错误。通过互联网连接,宏对我有效,如果我关闭连接,宏会粘贴一条消息,而不是给我同样的错误。我什至从未接触过我创建的错误处理消息。当我尝试在与客户端通话时进行故障排除时,宏可以工作。

这是错误所在代码的摘录:

    shtBNR.Activate
    shtBNR.Range("B3").Select
    shtBNR.Range("B:B").NumberFormat = "@"
    
    Set IE = CreateObject("InternetExplorer.Application")
    With IE
        .Visible = False
        .Navigate "https://www.bnr.ro/StatisticsReportHTML.aspx?icid=800&table=668&column=&startDate=1-1-" & Year(Now) - 1 & " &stopDate=" & Format(Date, "dd-mm-yyyy")
        Do Until .ReadyState = 4: DoEvents: Loop
    End With
  
    
RetryCount = 0
    
RetryCopy:
    
    RetryCount = RetryCount + 1
    
    If RetryCount = 5 Then
        
        MsgBox "Connection error! FX cannot be updated!"
        IE.Quit
        IE.Quit
        Exit Sub
        
    End If
    
    IE.ExecWB 17, 0
    IE.ExecWB 12, 2
    
    
    On Error GoTo RetryCopy
    ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:=False, NoHTMLFormatting:=True
    On Error GoTo 0
    
    IE.Quit
    IE.Quit

在这一点上,我很感激任何线索或建议。

标签: excelvba

解决方案


推荐阅读