首页 > 解决方案 > 已定义和设置变量时 VBA 中的错误 91

问题描述

我是编码新手,这是我在 StackOverflow 上的第一篇文章。我正在尝试自动化我工作中的重复性任务。

所以登录,然后删除一个文本字段(例如“0000”应该在哪里),然后将Excel中的另一个值粘贴到另一个字段中,单击搜索并抓取一些数据。

 HTMLInput.Value = "0000000"

上面是我得到的地方

运行时错误 91:对象变量或未设置

我真的不明白为什么会这样。我认为每个变量都已定义。

还是我在登录后遗漏了一些东西,比如“HTMLInput”应该发生其他事情?

Option Explicit

Sub LogIn()

    Dim IE As New SHDocVw.InternetExplorer
    Dim HTMLDoc As MSHTML.HTMLDocument
    Dim HTMLInput As MSHTML.IHTMLElement

    IE.Visible = True

    IE.Navigate Sheet1.Range("B2").Text

    Do While IE.ReadyState <> READYSTATE_COMPLETE
    DoEvents
    Loop

    Set HTMLDoc = IE.Document

    'Setting Username to a specific value
    Set HTMLInput = HTMLDoc.getElementById("ctl00_WebPartManager1_gwpLogin1_Login1_UserName")
    HTMLInput.Value = Sheet1.Range("B3")

    'Setting Password to a specific value
    Set HTMLInput = HTMLDoc.getElementById("ctl00_WebPartManager1_gwpLogin1_Login1_Password")
    HTMLInput.Value = Sheet1.Range("B4")

    'Click to login
    Set HTMLInput = HTMLDoc.getElementById("ctl00_WebPartManager1_gwpLogin1_Login1_LoginButton")

    HTMLInput.Click

    Set HTMLInput = HTMLDoc.getElementById("ctl00_SearchSection_ObjectSearch_txtEMail")

    HTMLInput.Value = "0000000"

    Set HTMLInput = HTMLDoc.getElementById("ctl00_SearchSection_ObjectSearch_txtCustomerID")
    HTMLInput.Value = Sheet1.Range("A10")

End Sub

标签: excelvbainternet-explorerautomationruntime-error

解决方案


推荐阅读