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.innerHTMLI 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!