CreateObject(“ InternetExplorer.Application”)中的VBA自动化错误

use*_*327 3 excel vba excel-vba

调用以下对象时出现自动化错误

Set IE = CreateObject("InternetExplorer.Application")
Run Code Online (Sandbox Code Playgroud)

错误正在显示

运行时错误'-2147467259(80004005)'自动化错误未指定的错误

任何人都可以知道为什么会这样吗

'将代码从注释中移出

Sub TableExample()

    Dim IE As Object
    Dim doc As Object
    Dim strURL As String
    strURL = Range("B2").Value

    Set IE = CreateObject("InternetExplorer.Application")
    With IE '
        .Visible = True
        .navigate Range("B2").Value
        Do Until .readyState = 4
            DoEvents
        Loop
        Do While .Busy
            DoEvents
        Loop
        Set doc = IE.document
        GetAllTables doc
        .Quit
    End With
End Sub
Run Code Online (Sandbox Code Playgroud)

小智 9

我只是在此上浪费了4个小时,而我却在面对解决方案的简单性。每次运行该行时,Excel都会创建一个新的activeX实例:

Set IE = CreateObject("InternetExplorer.Application")
Run Code Online (Sandbox Code Playgroud)

确切的工作方式超出了我的范围,但是即使重新启动excel,这些参考仍然存在。经过数十次堆积后,Excel内存不足以进行更多处理

重新启动计算机(这可能是一种更简单的方法,但是对我有用),然后坚持下去

IE.Quit 
Run Code Online (Sandbox Code Playgroud)

在代码末尾

  • 您可以执行以下操作以关闭当前版本的所有Internet Explorer实例:Windows-> Execute->键入cmd,然后键入taskkill / F / IM iexplore.exe (5认同)