我试图通过VBA以编程方式单击下拉选项列表。但选项的选择有效,但与点击相关的JavaScript不起作用。
我尝试了两种选择 - .click& 。焦点。
但这两个都没有调用相关的javascript。
见下面的代码
Set ElementCol = appIE.Document.getElementsByTagName("option")
For Each obj In ElementCol
If obj.innerHTML = "abc" Then
obj.Selected = True
obj.Focus
obj.click
Exit For
End If
Next obj
在IE中,
<select>
<option value="abc">abc </option>
<option value="def">def</option>
</select>
感谢您的帮助!
的问候,
塞缪尔马修斯
答案 0 :(得分:0)
这个怎么样:
Sub DOM_SetSelect()
Dim oIE As Object
Dim oBody As Variant
Dim oSelect As Variant
Set oIE = CreateObject("InternetExplorer.Application")
oIE.Visible = True
oIE.Navigate ("http://www.tizag.com/htmlT/htmlselect.php")
While oIE.ReadyState <> 4
DoEvents
Wend
Set oBody = oIE.Document.body
Set oSelect = oBody.GetElementsByTagName("select")(0)
oSelect.selectedindex = 2
End Sub
如果要按值设置,请使用
oSelect.value = "CA" 'in the demo website that I've added
答案 1 :(得分:0)
FireEvent用于触发附加到任何元素的javascript事件。
试试这个
obj.FireEvent("onclick")
你甚至可以尝试这个
obj.execScript "onclick()", "JavaScript"