Я использую приведенный ниже код для доступа к веб-сайту банка и получения некоторых данных. Этот код работает на моем компьютере, но он не будет работать на моем компьютере боссов. Я сталкиваюсь с ошибкой 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.