excel - Vba 宏在家用电脑上运行,在工作电脑上出现错误 2147417848

标签 excel vba web-scraping runtime-error

在论坛的帮助下,我创建了一个连接到我银行网络的宏,填写用户名和密码并输入我的帐户。该宏复制帐户余额并将其粘贴到 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

关于excel - Vba 宏在家用电脑上运行,在工作电脑上出现错误 2147417848,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55257273/

相关文章:

文档中链接对象的文件路径的VBA列表

java - 字符串操作,从同一行提取某些值

python - 如何将 xlsx 转换为制表符分隔文件

python - 提取非本地链接——美汤

html - 美汤不找 table

arrays - 如何在字典中为唯一值的二维数组设置字典?

vba - 参数太少: Expected 1 performing SELECT INTO

excel - 字典、集合和数组的比较

excel - 如何查找过滤后范围内的行数

r - 在 Wiki 的网球 table 上使用 Rvest 进行网页抓取