gpt4 book ai didi

excel - Internet Explorer 对象 Excel VBA 的自动化错误未指定错误

转载 作者:行者123 更新时间:2023-12-02 10:27:47 25 4
gpt4 key购买 nike

我已经使用一些代码有一段时间了,从字面上看,突然间它就在我身上崩溃了。这是我收到的错误消息:

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

这行代码专门用于实例化 InternetExporer 对象时,但我没有对代码进行任何更改。它就停止工作了。可能是什么问题?

这种情况以前发生过,我通过显式调用库(之前的 HTMLBsaeObject 的 MSHTML)来纠正它,但在命名变量时我只使用一个对象

Public Sub ValueLineResearch()

setUp
Dim myFund As String

loginN = Sheets("Logins").Range("B2").Text
pwStr = Sheets("Logins").Range("B3").Text

'Get the site
iEx.Navigate "https://jump.valueline.com/login.aspx"
iEx.Visible = True

Call waitForIE

'Need to login now don't we
iEx.Document.forms("aspnetForm").Item("ctl00_ContentPlaceHolder_LoginControl_txtUserID").Value = loginN
iEx.Document.forms("aspnetForm").Item("ctl00_ContentPlaceHolder_LoginControl_txtUserPw").Value = pwStr
iEx.Document.forms("aspnetForm").Item("ctl00_ContentPlaceHolder_LoginControl_btnLogin").Click

Call waitForIE
Application.Wait DateAdd("s", 6, Now)

iEx.Navigate "https://research.valueline.com/secure/research#sec=library"

Call waitForIE

For Each el1 In iEx.Document.getElementsByClassName("symbol-search textInput ui-autocomplete-input mod_search-symbols primary_symbol_search")
el1.Value = fundToResearch
Next

Application.Wait DateAdd("s", 2, Now)

iEx.Document.forms("quoteSearch").submit

Call waitForIE
Application.Wait DateAdd("s", 2, Now)

iEx.Navigate "https://research.valueline.com/secure/research#list=recent&sec=company&sym=" & fundToResearch

Call waitForIE

'store the Doc
Set ieDoc = iEx.Document

'For linkItem = 0 To ieDoc.Links.Length - 1
' 'Get the PDF
' If InStr(1, ieDoc.Links(linkItem).href, ".pdf", vbTextCompare) > 0 And InStr(1, ieDoc.Links(linkItem).href, "UserGuide", vbTextCompare) <= 0 Then
' ieDoc.Links(linkItem).Click
' iEx.Visible = True
' Exit For
' End If
'Next linkItem

Set iEx = Nothing

End Sub

设置子是这样的:

set iEx = CreateObject("InternetExplorer.Application")
fundToResarch = LCase(InputBox("Please Enter a Fund"))

最佳答案

我在多次调用的函数中创建 InternetExplorer 实例时遇到了类似的问题,出现“自动化错误”。启动时工作正常,但多次调用后会因自动化错误而崩溃。我发现内存中有多个 IE 进程,这意味着设置 objIE = Nothing 不足以从内存中删除该进程。解决方案是在将 objIE 设置为 Nothing 之前调用“Quit”方法。

即:

objIE.Quit

'Put in a brief pause

set objIE = Nothing

关于excel - Internet Explorer 对象 Excel VBA 的自动化错误未指定错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25944187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com