Есть несколько вещей не так с этим.Для начала, вы не даете веб-странице возможность загрузки.Выполните функцию AutoLogin () в событии DocumentComplete веб-браузера.Кроме того, если кнопка «ОК» находится не в конце набора тэгов INPUT, вы можете отправить форму без всех данных.
Вот мой взгляд на код, который вы нам показали:
Option Explicit
Private Const m_sURI As String = "http://<any website name>"
Private Sub Form_Load()
WebBrowser1.Resizable = True
WebBrowser1.Navigate m_sURI
End Sub
Sub autologin()
Dim HTML As HTMLDocument
Dim HTMLI As HTMLInputElement
Dim inputButton As HTMLInputElement
Dim uName As String
Dim uPass As String
On Error GoTo ErrorHandler:
uName = "user"
uPass = "password"
Set HTML = WebBrowser1.Document
For Each HTMLI In HTML.getElementsByTagName("input")
If HTMLI.Name = "Login" Then
HTMLI.Value = uName
End If
Select Case HTMLI.Type
Case "password"
HTMLI.Value = uPass
Case "ok"
' Save the ok reference so we can use it later.
Set inputButton = HTMLI
End Select
Next HTMLI
If inputButton Is Nothing Then
MsgBox "Ok button not found."
Else
inputButton.Click
End If
Exit Sub
ErrorHandler:
' Handle error ...
End Sub
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
If URL = m_sURI Then
autologin
End If
End Sub