Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.2k views
in Technique[技术] by (71.8m points)

excel - VBA automation error in CreateObject("InternetExplorer.Application")

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
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...