For the GetActiveObject to work, the application has to register itself with the Running Object Table. Looks like IE has stopped registering in the ROT at some point. According to this: http://support.microsoft.com/default.aspx?scid=kb;en-us;176792 looping thru ShellWindows is the 'official' way to get an existing IE instance. Roger