VBA宏在家计算机上运行,并在工作计算机上获得错误2147417848



在论坛的帮助下,我创建了一个连接到银行网络的宏,填写用户名和密码并输入我的帐户。宏将帐户余额复制并粘贴到Excel中。

在我的家计算机上,它没有问题。但是,工作计算机不起作用。在我的工作场所,宏打开网络,但没有填写用户或密码。它停止在行While. Busy Or.readyState <4中,并且错误Runtime Error 2147417848出现。

我将" Activobank.com"添加到Explorer的受信任站点,此错误如下。

我已经检查了Explorer> Tools> Internet Options> Connections> LAN settings> Detect settings selected,然后选择了它。我的工作场所不运行代理脚本。

如果我在不使用宏的情况下在Internet Explorer中手动输入,并且输入了用户和密码,则可以毫无问题地输入。

宏在我的家计算机上而不是在我的工作计算机上工作有什么问题?

'VBE > Tools > References:
' Microsoft Internet Controls
Public Sub SaldoActivo()
    Dim IE As InternetExplorer
    Set IE = New InternetExplorer
    With IE
        .Visible = True
        ‘Navigate first web
        .Navigate2 "https://www.activobank.com/cs/Satellite/BC/"
        While .Busy Or .readyState < 4: DoEvents: Wend
        .document.querySelector("[name=userDNI]").Value = "123456789"
        .document.querySelector("[name=pinNif]").Value = "123456789"
        .document.querySelector("#button1").Click
        While .Busy Or .readyState < 4: DoEvents: Wend
        ' Navigate second page
        .Navigate2 "https://www.activobank.com/activobank/CUGlobalPositionNew.init.bs"
        While .Busy Or .readyState < 4: DoEvents: Wend
    End With
‘Code to copy the account balance data
Application.Wait (Now + TimeValue("00:00:04"))
Cells(1, 1) = IE.document.getElementsByTagName("td")(39).innerText
IE.Quit
Set IE = Nothing
End Sub

调试代码以及发生错误时,检查IE.hwnd是否返回任何值。如果没有IE的安全设置存在问题,则AFAIK IE将在导航到不同安全区域的网站(例如,从本地Intranet到Internet)打开一个新的浏览器。尝试为这两种模式启用受保护模式,并设置相同的安全级别。

/e:如果下面的评论中提到的任何设置都没有任何区别,请创建一个以中等完整性级别运行的Internet Explorer的实例:Set IE = New InternetExplorerMedium

最新更新