HTMLDocument中发生火灾事件的VBA问题

HTMLDocument中发生火灾事件的VBA问题,vba,Vba,我在Internet Explorer浏览中遇到VBA尝试调度事件的问题。我能够将列表更改为我想要的值,但在这之后什么都没有发生,但当我这样做时,下面的手动表将填充值。有人能帮我解决这个问题吗? Private-Sub-SlowCheck(网页作为字符串) 将htmlPage设置为HTMLDocument 将hText设置为HTMLTextElement 模糊HTMLOL作为IHTMLElement Dim IE作为新的InternetExplorerMedium 将htmlInput设置为M

我在Internet Explorer浏览中遇到VBA尝试调度事件的问题。我能够将列表更改为我想要的值,但在这之后什么都没有发生,但当我这样做时,下面的手动表将填充值。有人能帮我解决这个问题吗?

Private-Sub-SlowCheck(网页作为字符串)
将htmlPage设置为HTMLDocument
将hText设置为HTMLTextElement
模糊HTMLOL作为IHTMLElement
Dim IE作为新的InternetExplorerMedium
将htmlInput设置为MSHTML.HTMLInputElement
将HtmlOp设置为HtmlOpionElement
将htmlColl变暗为MSHTML.IHTMLElementCollection
Dim HtmlCallNew为MSHTML.IHTMLElementCollection
Set x=CreateObject(“wscript.shell”)
即“导航”https://tde.statestr.com/dynabenchmarking/app/dnb/benchmarkView"
可见=真实
当IE忙或IE readyState 4时
多芬特
温德
设置htmlPage=IE.document
设置htmlInput=htmlPage.getElementById(“PWChange”)
使用htmlPage
关于错误GoTo SkipLog
.getElementById(“用户名”).innerText=GetUserID
.getElementById(“密码”).innerText=“网页”
。表格(,0)。提交
以
斯基普洛格:
当IE忙或IE readyState 4时
多芬特
温德
函数等待“0:00:10”
设置htmlPage=IE.document
使用htmlPage
设置HtmlCallNew=.GetElementsByCassName(“表单控件”)
设置htmlColl=.GetElementsByCassName(“客户端选择”)
对于.getElementsByCassName(“表单控件”)(0、.getElementsByTagName(“选项”))中的每个HTMLLE
如果HtmlOle.innerHTML=“2FBB”,则
聚焦
HtmlOle.Selected=True
HtmlOle.点击
"这之后,
htmlPage.initEvent“83”
HtmlOle.firevent“bundle.js(83)”
做
多芬特
循环直到IE.readyState=readyState\u完成
如果结束
下一个HtmlOle
即退出
设置hText=Nothing
设置htmlPage=Nothing
设置IE=无
端接头
Private Sub SlowCheck(WebPass As String)

    Dim htmlPage As HTMLDocument
    Dim hText As HTMLTextElement
    Dim HtmlOle As IHTMLElement
    Dim IE As New InternetExplorerMedium
    Dim htmlInput As MSHTML.HTMLInputElement
    Dim HtmlOp As HTMLOptionElement
    Dim htmlColl As MSHTML.IHTMLElementCollection
    Dim htmlCollnew As MSHTML.IHTMLElementCollection
    
    Set x = CreateObject("wscript.shell")
    IE.navigate "https://tde.statestr.com/dynabenchmarking/app/dnb/benchmarkView"
    IE.Visible = True
    While IE.Busy Or IE.readyState <> 4
        DoEvents
    Wend
    
    Set htmlPage = IE.document
    Set htmlInput = htmlPage.getElementById("PWChange")
    With htmlPage
    On Error GoTo SkipLog
        .getElementById("username").innerText = GetUserID
        .getElementById("PASSWORD").innerText = "WebPass"
        .forms(, 0).submit
    End With
        
SkipLog:

While IE.Busy Or IE.readyState <> 4
    DoEvents
Wend
FunctionWait "0:00:10"
    Set htmlPage = IE.document
    With htmlPage
        
        Set htmlCollnew = .getElementsByClassName("form-control")
        Set htmlColl = .getElementsByClassName("clientSelect")
        
         For Each HtmlOle In .getElementsByClassName("form-control")(0, .getElementsByTagName("option"))
          If HtmlOle.innerHTML = "2FBB" Then
            HtmlOle.Focus
            HtmlOle.Selected = True
            HtmlOle.Click
            'Issue after this
            htmlPage.initEvent "83"
            
            HtmlOle.FireEvent "bundle.js(83)"
            
            Do
                DoEvents
            Loop Until IE.readyState = READYSTATE_COMPLETE
          End If
           
         Next HtmlOle
    
        IE.Quit
    
    Set hText = Nothing
    Set htmlPage = Nothing
    Set IE = Nothing

End Sub