How VBA to code fireevent “on change” in selected terms in Javascript

送分小仙女□ 提交于 2019-12-24 23:23:08

问题


How to code in VBA for fireevent "onchange" in selected term in Javascript. It doesn't work as coding .querySelector(".zcq0.djhtm?b=Q&a= & var & ").FireEvent "onchange". Can someone help it, thanks in advance?

Public Sub GetTWYIn()
    Dim ie As Object, URL As String, var As Object, ele As Object, td As Date
    Const max_wait_sec As Long = 10

    Set var = ThisWorkbook.Worksheets("Sheet3").Cells(1, 1)
    URL = "http://pscnetinvest.moneydj.com.tw/z/zc/zcq/zcqa/zcqa_" & var & ".djhtm"
    Set ie = CreateObject("internetexplorer.application")
    With ie
        .Visible = True
        .navigate URL
        While .Busy Or .readyState < 4: DoEvents: Wend

        With .document
            b = Timer
            Do
                On Error Resume Next
                Set ele = .querySelector("[value$='/zcq0.djhtm?b=Q&a=" & var & "']")

                On Error GoTo 0
                If Timer - td > max_wait_sec Then Exit Do
            Loop While ele Is Nothing
            If ele Is Nothing Then Exit Sub
            ele.Selected = True
            .querySelector(".zcq0.djhtm?b=Q&a= & var & ").FireEvent "onchange"
        End With
    End With
     Set ie = Nothing`
End Sub

This is html.

<SELECT name="selB" id="selB" onchange="javascript:selopn(this.options[this.selectedIndex].value);">

<OPTION value="/z/zc/zcq/zcq0.djhtm?b=Q&a=1232" >季表</OPTION>
<OPTION value="/z/zc/zcq/zcq0.djhtm?b=A&a=1232" >累計季表</OPTION>
<OPTION value="/z/zc/zcq/zcq0.djhtm?b=Y&a=1232"  selected>年表</OPTION>

</SELECT>

来源:https://stackoverflow.com/questions/58515101/how-vba-to-code-fireevent-on-change-in-selected-terms-in-javascript

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!