From: Will Gwaltney Date: 2004-10-07T01:54:48+09:00 Subject: How to determine supported dispinterfaces for WIN32OLE object? I'm using WIN32OLE_EVENT to set up some event handlers on various DHTML elements in Internet Explorer, and I'm having a bit of trouble identifying the right event dispinterfaces to use. The Microsoft online documentation is less than helpful; they claim that you can use the HTMLElementEvents2 interface on most all the HTML elements you care about, but I'm getting the following when I try: interface not found HRESULT error code:0x80004002 No such interface supported Here's a code skeleton that outlines what I'm trying to do: ---------------- (snip) ----------------------- require 'win32ole' ie = WIN32OLE.new('InternetExplorer.Application') . . . insert code to display a web page here... . . . elements = ie.document.all elements.each do |element| ev = WIN32OLE_EVENT.new(element, 'HTMLElementEvents2') . . . assign event handlers here . . . end ---------------- (snip) ----------------------- And here's the URL for the Microsoft documentation that makes the claims about the HTMLElementEvents2 interface: http://msdn.microsoft.com/workshop/browser/mshtml/tutorials/sink.asp What am I missing? Do I have to somehow massage the element into a different object that will handle the HTMLElementEvents2 interface? Or should I be using another interface entirely? (BTW, is there any way in WIN32OLE to figure out which interfaces an object supports?) Any help will be much appreciated! Will Gwaltney SAS Institute