Я пытаюсь ввести информацию в веб-форму Inte rnet Explorer 11. Веб-сайт / форма была разработана долгое время go (около 15-20 лет). Доступ к веб-сайту возможен только через Inte rnet Explorer.
Я не могу поделиться веб-сайтом / исходным кодом, поскольку он является внутренним для моей компании.
Я нашел решение в Интернете, но ни один не работал (я пробовал много разных версий).
Я хочу войти в систему, затем go на нескольких страницах ввода информации, нажимая кнопку Далее / Отправить на каждом этапе. У меня не получается после входа в систему.
У меня есть следующие ссылки в Excel:
Microsoft Inte rnet Элементы управления, Microsoft HTML Библиотека объектов, Microsoft XML, v6.0
Я следуя инструкции мудрой совы https://www.youtube.com/watch?v=dShR33CdlY8. Пройдите примерно через 17 минут, чтобы увидеть, где я получил код.
Я получил сообщение об ошибке в строке htmlinput.Value = "excel"
.
Сообщение об ошибке было
переменная объекта или с не установленной переменной блока - Ошибка времени выполнения ' 91 '
Sub navigate_website()
Dim ie As New SHDocVw.InternetExplorer
Dim htmldoc As MSHTML.HTMLDocument
Dim htmlinput As MSHTML.IHTMLElement
ie.Visible = True
ie.navigate Sheet1.Range("C2").Text
Do While ie.Busy Or ie.readyState <> READYSTATE_COMPLETE
DoEvents
Loop
'enter in userid
ie.document.forms("formsamplename").elements("usedid").Value = ThisWorkbook.Sheets("sheet1").Range("B6")
'enter in password
ie.document.forms("formsamplename").elements("userpassword").Value = ThisWorkbook.Sheets("sheet1").Range("B7")
'click the login button
ie.document.forms("formsamplename").elements("cmdSubmit").Click
Do While ie.Busy Or ie.readyState <> READYSTATE_COMPLETE
DoEvents
Loop
' ----- I tried the below code as an alternative but it didn't work -----
'ie.document.forms("formsamplename").elements("usernumber").Value = ThisWorkbook.Sheets("sheet1").Range("B6")
Set htmldoc = ie.document
Set htmlinput = htmldoc.getElementById("usernumber")
htmlinput.Value = "excel" **'error occurs here**
' ----- I also tried the below code, but it didn't work -----
'htmldoc.forms("formsamplename").elements("usernumber").Value = "test"
Set ie = Nothing
Set htmldoc = Nothing
Set htmlinput = Nothing
End Sub