首页 > 解决方案 > 如何将数据输入 Internet Explorer 网站?

问题描述

我正在尝试在 Internet Explorer 11 网站表单中输入信息。网站/表单是很久以前设计的(大约 15-20 年)。该网站只能通过 Internet Explorer 访问。

我无法共享网站/源代码,因为它是我公司内部的。

我在网上浏览了一个解决方案,但没有一个有效(我尝试了许多不同的版本)。

我正在寻找登录,然后通过几页输入信息,同时在每个阶段单击下一步/提交。我登录后失败了。

我在 Excel 上有以下参考资料:

Microsoft Internet 控件、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

标签: excelvbainternet-explorer-11

解决方案


推荐阅读