我正在运行以下代码来访问银行网站并提取一些数据。该代码在我的计算机上运行,但不会在我的老板计算机上运行。当我尝试在包含IE.Navigate URL1
的行之后设置与IE相关的任何内容时,在代码中的任何时候都遇到错误462。
其他帖子提到这可能是因为Excel已经为IE创建了一个引用,但由于未清除该引用,所以我遇到了此错误,但我不知道这到底意味着什么。同样,仅当在办公室中的单台计算机上运行代码时,我才会收到此错误,而在其他三台计算机上运行代码时,则不会。我们都在运行32位软件,并且具有相同的Excel版本。
他正在运行64位软件,办公室里没有其他人。我认为可能是问题所在,并卸载了64位Office,并在其计算机上安装了32位套件。那没有解决问题。我以为他的Excel识别参考库可能存在问题,Microsoft HTML库需要激活才能用于运行的命令,但他的Excel也将其显示为正在运行并且正在运行。
Public Declare Function SetForegroundWindow Lib "user32" (ByVal HWND As Long) As Long
Option Explicit
Sub WaveRetrieveAccountHistory()
Dim IE As New SHDocVw.InternetExplorer
Dim Doc As MSHTML.HTMLDocument
Dim HWNDSrc As Long
Dim URL1
Dim URL2
URL1 = "https://secure9.onlineaccess1.com/BroadwayBankOnline/Uux.aspx#/login"
URL2 = "https://secure9.onlineaccess1.com/BroadwayBankOnline/Uux.aspx#/branches"
IE.Visible = True
IE.Navigate URL1
Do While IE.Busy = True
Loop
Application.Wait (Now + TimeValue("0:00:05"))
HWNDSrc = IE.HWND
SetForegroundWindow HWNDSrc
IE.Navigate URL2
End Sub
这是一段较大的代码段,该代码段将在每天的预定时间运行,而没有人在场,这就是为什么我将IE设置为前台(如果其他任何程序打开的情况)并优先考虑)。
预期结果是代码将IE窗口(如果尚未设置)设置为前台,然后浏览第二个URL,但是我在HWNDSrc = IE.HWN"
行上收到错误462。当我删除这些行并运行代码时,它也会在IE.Navigate URL2
上出错,并显示相同的错误462。
答案 0 :(得分:0)
我的问题的解决方案最终是在Windows上创建一个新的用户配置文件,并完全删除旧的用户配置文件。最好的猜测是原始用户配置文件已损坏,因为卸载和重新安装Excel并没有帮助,这也是为什么此问题在其他计算机上不容易复制的原因。