oParser=CreateObject("MSHTML.HTMLDocument") >>cHTMLDocument="<HEAD></HEAD><BODY>" + cMyHTMLSnippet + "</BODY></HTML>" >>oParser.DocumentHTML=cHTMLDocument >>&& ... Wait for not busy, then... >>nImages=oParser.Document.DOM.Images.Length >>&& ...Do something with each image element, such as set height and width attribs >>For i=0 to nImages-1 >> oThisImage=oParser.Document.DOM.Images[i] >> etc... >>Endfor >>&& ... Extract the modified HTML (document.body.innerHTML) >>cNewHTML=oParser.Document.DOM.body.innerHTML >>I can do this, and have it working, by using the DHTMLEdit control and driving it programmatically, but it seems to insist on being instantiated as a form-based control in order to operate. So I have this unnecessary form creation/destruction (and hiding issues). Isn't there a better way? Thanks for any suggestions!