VBA automation error in CreateObject(“InternetExpl

2020-02-09 05:48发布

I am getting the an automation error while invoking the following object

Set IE = CreateObject("InternetExplorer.Application")

The error is showing

Run-time error '-2147467259 (80004005)' Automation error Unspecified error

Can anyone have any idea why this is occuring

'moved code from comments

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

2条回答
贪生不怕死
2楼-- · 2020-02-09 05:58

For others who end up here with the same error...

This can also be caused by referencing the Document object property in an InternetExplorer object that has been quit and set to nothing. That this is not what is happening in this question but the following code throws the same error.

Dim ie As New InternetExplorer
ie.Visible = True
ie.Navigate "google.com"

ie.Quit
Set ie = Nothing

If ie.Document Is Nothing Then 'Error thrown here
    MsgBox "Can't get here"
End If
查看更多
时光不老,我们不散
3楼-- · 2020-02-09 06:01

I just wasted 4 hours on this, and I'm facepalming at how easy the solution was. Excel creates a new activeX instance every time you run the line:

Set IE = CreateObject("InternetExplorer.Application")

How exactly that works is out of my league, but those references stick around even after you restart excel. After a couple dozen pile up, excel runs out of memory to make more

Restart your computer, (probably an easier way, but that worked for me) and then stick the line

IE.Quit 

at the end of your code

查看更多
登录 后发表回答