Internet explorer javascript无法使用VBA调用IE

Internet explorer javascript无法使用VBA调用IE,internet-explorer,vba,click,option,Internet Explorer,Vba,Click,Option,我试图通过VBA程序单击下拉选项列表。但是选项的选择起作用,但是与点击相关联的javascript不起作用。 我尝试了这两个选项-。单击并聚焦。 但这两个函数都不会调用相关的javascript。 请参见下面的代码 Set ElementCol = appIE.Document.getElementsByTagName("option") For Each obj In ElementCol If obj.innerHTML = "abc" Then obj.Selected


我试图通过VBA程序单击下拉选项列表。但是选项的选择起作用,但是与点击相关联的javascript不起作用。 我尝试了这两个选项-。单击并聚焦。 但这两个函数都不会调用相关的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>
提前谢谢你的帮助

问候,, 塞缪尔·马修斯

这个怎么样:

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

FireEvent用于触发附加到任何元素的javascript事件

试试这个

obj.fireventonclick

你甚至可以试试这个


obj.execScript onclick,JavaScript

但是选项的选择起作用,但是与单击关联的JavaScript不起作用。我没有看到任何Javascript?在DOM Ready上使用Javascript或jQuery只需一行代码就可以实现这一点,比在VBA中实现这一点简单/快速得多。我真的看不出这有什么用。。我不是开发网站的负责人。。只是尝试通过VBA自动化手动表单提交。javascript代码没有给出,因为它违反了策略。。这一节提到了…非常感谢@金和桑托什。。。我会查一查让你知道。。。再次感谢@基姆。。作为vba的新手,我有一个疑问。。我们仅通过标记/值获取元素。但是我们没有正确调用click事件。。你能帮我做同样的事吗。我只是尝试了这段代码,但没有看到任何变化发生的是,您直接在DOM中查找并更改元素的值,而不是触发一个Javascript单击事件来为您处理这个问题。如果没有看到更改,则可能没有更改正确的值;只需在页面上单击鼠标右键并查看源HTML。@kim gysen我试过你的ans。。对象fireeventonclick。。但我看不到任何回应…:我们必须使用onclick还是onchange。。因为代码调用javascript onchange事件。。。但我用它显示了错误:请引导我。。提前谢谢@SamuelMathews您可以发布obj的实际视图源。
oSelect.value = "CA" 'in the demo website that I've added