繁体   English   中英

当Internet Explorer自动化脚本运行时,在VBA中遇到“错误462:远程服务器计算机不存在或不可用”

[英]Encountering “Error 462: The remote server machine does not exist or is unavailable” in VBA when an internet explorer automation script is running

我正在运行以下代码来访问银行网站并提取一些数据。 此代码在我的计算机上运行,​​但它不会在我的老板计算机上运行。 当我尝试在包含IE.Navigate URL1的行之后设置与IE相关的任何内容时,我在代码中的任何位置都遇到错误462。

其他帖子提到这可能是因为Excel已经为IE创建了一个引用,我遇到了这个错误,因为该引用没有被清除,但我不确切地知道这意味着什么。 同样,只有在办公室中的单台计算机上运行代码时才会收到此错误,但是当代码在其他三台计算机上运行时则不会。 我们都运行32位软件,并具有相同的Excel版本。

他正在运行64位软件,办公室里没有其他人。 我认为这可能是问题,并卸载了64位Office并在他的计算机上安装了32位套件。 这没有解决问题。 我认为他的Excel识别参考库时可能存在问题,Microsoft HTML Library需要对用于工作的命令有效,但他的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相同。

我的问题的解决方案最终是在Windows上创建一个新的用户配置文件并完全删除旧的用户配置文件。 原始用户配置文件以某种方式被破坏是我们最好的猜测,因为卸载和重新安装Excel没有帮助,这也是为什么这个问题不容易在其他机器上复制的原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM