javascript无法正常使用VBA调用IE

时间:2013-12-12 10:13:29

标签: internet-explorer vba click option

我试图通过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>

感谢您的帮助!

的问候,
塞缪尔马修斯

2 个答案:

答案 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"