Automate IE File>Save As

I have an application that needs to:

1) Open a URL.
2) Do a File>Save As of type TEXT
3) Open the text file and do some processing on it for a report.

I know how to do everything but #2, i.e. get the HTML document currently open in IE to be saved in the TXT format.
LVL 32
jhanceAsked:
Who is Participating?
 
jkrCommented:
See http://support.microsoft.com/support/kb/articles/Q292/4/85.ASP ('HOWTO: Programmatically Save an HTML Page to Disk'). The scoop is:

Accomplishing this task from a Visual C++ host is very straightforward. You can use an IWebBrowser2
interface to call the QueryInterface method for the IHTMLDocument2 interface. After you obtain a pointer
to the document, then call QueryInterface for the IPersistFile interface. After you obtain this interface
pointer, you can call the save method to save the file to disk.

   HRESULT          hr    = E_FAIL;
   IDispatch*       pDisp = NULL;
   IHTMLDocument2*  pDoc  = NULL;
   
   pDisp                  = m_webOC.GetDocument();

  if(SUCCEEDED(hr = pDisp->QueryInterface(IID_IHTMLDocument2,(void**)&pDoc)))
  {
      IPersistFile*     pFile     =     NULL;
      if(SUCCEEDED(pDoc->QueryInterface(IID_IPersistFile,(void**)&pFile)))
      {
    LPCOLESTR     file = L"c:\\test1.htm";
    pFile->Save(file,TRUE);
      }
  }
0
 
jhanceAuthor Commented:
Exactly what I was looking for.  Thanks!
0
 
jhanceAuthor Commented:
Am I just dumb or are all these IE related COM interfaces poorly documented and arcane?

I suppose they make perfect sense to those folks at Microsoft but I can never find what I need...
0
 
jkrCommented:
>>Am I just dumb or are all these IE related COM interfaces poorly documented

Well, there's  only one chance - if you come across such an article, bookmark it instantly :o)
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.