Я прилагаю следующий код, где я получаю сообщение «Ошибка автоматизации» в последней скопированной здесь строке (IE.Navigate
). Этот код хорошо работал много раз, но сейчас я не знаю, что происходит. Ссылки активированы, P C, который запускает макрос, такой же, ничего не изменилось. Я также проверил, изменилась ли ссылка, но она все та же.
По сути, макрос выполняет открытие сайта inte rnet, он ждет, когда я войду (потому что у меня возникли проблемы при автоматическом входе) и затем это продолжается. Если я остановлю задание до того, как оно не выполнится, оно останется навсегда в DoEvents
l oop, которое я имею перед последней строкой. Я не знаю, связано ли это с другой ошибкой, но этого также не случалось раньше. Конечно, я должен приостановить макрос, изменить строку выполнения на IE.Navigate
, а затем я получаю сообщение, указанное выше.
Private Declare Function ShowWindow Lib "user32" _
(ByVal hwnd As Long, ByVal nCmdSHow As Long) As Long
Const SW_SHOWMAXIMIZED = 3
Sub Flujos_Valmer()
Dim URL As String
Dim IE As New SHDocVw.InternetExplorer, HTMLDoc As MSHTML.HTMLDocument
Dim ObjCollection As Object, ObjElement As Object, tdCollection As Object, cell As Object
Dim o As IUIAutomation
Dim e As IUIAutomationElement
Dim HTMLTables As MSHTML.IHTMLElementCollection, table As MSHTML.IHTMLElement
Dim i As Integer, j As Integer, t As Integer
Dim TV As String, Emisora As String, serie As String, user As String, pw As String
ultimo = Workbooks("Flujos Valmer.xlsm").Sheets("Macro").Cells(Rows.Count, "A").End(xlUp).Row
user = Workbooks("Flujos Valmer.xlsm").Sheets("Macro").Range("P5")
pw = Workbooks("Flujos Valmer.xlsm").Sheets("Macro").Range("P6")
URL = "http://www.valmer.com.mx/"
Set HTML_Content = CreateObject("htmlfile")
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.navigate URL
Do While IE.Busy Or IE.readyState <> 4
DoEvents
Loop
Set HTMLDoc = IE.document
Application.Wait (Now + TimeValue("00:00:03"))
ShowWindow IE.hwnd, SW_SHOWMAXIMIZED
Do While IE.Busy Or IE.readyState <> 4
DoEvents
Loop
MsgBox "Por favor inicie sesión en Valmer", vbOKOnly
'HTMLDoc.all.Item("j_username").Value = user
'HTMLDoc.all.Item("j_password").Value = pw
'HTMLDoc.all.Item("btnIngresar").Click
Do While IE.Busy Or IE.readyState <> 4
DoEvents
Loop
ShowWindow IE.hwnd, SW_SHOWMAXIMIZED
IE.navigate "http://www.valmer.com.mx/es/valmer/corporativo?idProceso=393"