Обнаружение "Ошибка 462: компьютер удаленного сервера не существует или недоступен" в VBA, когда выполняется сценарий автоматизации Internet Explorer - PullRequest
0 голосов
/ 17 июня 2019

Я использую приведенный ниже код для доступа к веб-сайту банка и получения некоторых данных. Этот код работает на моем компьютере, но он не будет работать на моем компьютере боссов. Я сталкиваюсь с ошибкой 462 в любой точке кода, когда пытаюсь установить что-либо, связанное с IE, после строки, содержащей IE.Navigate URL1.

В других публикациях упоминается, что это может быть связано с тем, что 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-адресу, но вместо этого я получаю сообщение об ошибке 462 в строке HWNDSrc = IE.HWN". Когда я удаляю эти строки и запускаю код, он также выдает ошибку на IE.Navigate URL2 с той же ошибкой 462.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...