i have searched and searched but have not find any solution to resolve this,
How do i fire an onclick event that is within a div? I am getting everything right by testing it with its title and getattribute but it just wouldn’t click.
IE.document.getElementById("btn_header").FireEvent ("onclick")
IE.document.getElementById("btn_header").click
IE.document.getElementById("btn_header").parentElement.click
The Web code
<td>
<div id='btn_header' title='BTN' onclick="window.open('http://www.google.com','_blank');"></div>
</td>
I also saw some site saying Fireevent doesn’t work with IE11 for some reason, is there any other alternatives to it ?
div.FireEvent "onclick"
should work (following example tested with IE11).
Maybe your div is empty (contains nothing where could be clicked on?).
HTML used to test the code here.
' Add reference to Microsoft Internet Controls (SHDocVw)
' Add reference to Microsoft HTML Object Library
Sub TriggerDivClick()
Dim ie As SHDocVw.InternetExplorer
Dim doc As MSHTML.HTMLDocument
Dim div As HTMLDivElement
Dim url As String
url = "file:///c:/temp/divOnClick.html"
Set ie = New SHDocVw.InternetExplorer
ie.Visible = True
ie.navigate url
While ie.Busy Or ie.readyState <> READYSTATE_COMPLETE
DoEvents
Wend
Set doc = ie.document
Set div = ie.document.getElementById("btn_header")
div.FireEvent "onclick"
ie.Quit
Set ie = Nothing
End Sub
Answer:
You might also try to call the script direct with:
IE.document.parentWindow.execScript "window.open('http://www.google.com','_blank');", "javascript"
Tags: events, excelexcel, vba