У меня есть пара инструментов, которые работали годами, создавались и поддерживались в Excel.Они открывают IE, входят в отраслевую базу данных, копируют некоторую информацию, а затем снова закрываются.Недавно было обновлено Office и IE, и теперь мы часто встречаемся с IE, блокирующимся в неотвечающее состояние, как только оно открывается, особенно при многократном использовании.
IEверсия работала на 11.0.56, но не на 11.0.65 - однако откат ее, похоже, не устранил проблему, поэтому похоже, что более широкое обновление Office может повлиять на него.
Есть параразличных кодов для разных инструментов, но все они сталкиваются с одной и той же проблемой.
Это соответствующий бит кода, похоже, когда у s breaking it is immediately after IE has been opened. Any help greatly appreciated, as I say has been a reliable bit of code so strange it
появились такие проблемы:
Option Explicit
Dim IE As InternetExplorer
Dim HTMLForm As HTMLFormElement
Dim HTMLDOC As HTMLDocument
Dim strAddress As String
Dim strWarning As String
Dim booTOU As Boolean
Dim booSmart As Boolean
Dim intCount As Integer
Dim intCount2 As Integer
Dim intRowCount As Integer
Sub RegistryInfo()
On Error Resume Next
'Start
ActiveSheet.Unprotect
Application.ScreenUpdating = False
'open IE
Set IE = New InternetExplorer
' Make IE visible
IE.Visible = False
'Go to the website
IE.navigate "https://www.electricityregistry.co.nz/bin_public/jadehttp.dll?MariaWebR"
'Wait for the page to load
Do Until IE.readyState = READYSTATE_COMPLETE And IE.Busy = False
Loop
' set variables for easy access
Set HTMLDOC = IE.document
Set HTMLForm = HTMLDOC.forms(0)
'Look for username (tabindex : 652) and enter username / Look for password (tabindex : 654) and enter password
For intCount = 0 To HTMLForm.elements.Length - 1
If HTMLForm.elements(intCount).TabIndex = 652 Then
HTMLForm.elements(intCount).innerText = ActiveSheet.Range("H2").Value
ElseIf HTMLForm.elements(intCount).TabIndex = 654 Then
HTMLForm.elements(intCount).innerText = ActiveSheet.Range("H3").Value
End If
Next
'Click ok on the web page
For intCount = 0 To HTMLForm.elements.Length - 1
If HTMLForm.elements(intCount).TabIndex = 655 Then
HTMLForm.elements(intCount).Click
Exit For
End If
Next