mfc创建一个word操作工程 【转自:http://blog.csdn.net/tg2003/article/details/4399981】

转自 http://www.cnblogs.com/zhangyin/archive/2007/03/04/663345.html

 

1.在VC中新建一控制台程序,选支持MFC(当然,你也可以不选择支持MFC的,不过会很麻烦)  
 
2.按CTRL+W调出MFC  ClassWizard,Add  Class->From  a  type  library,选择你的word的类型库(例如我的是word2003,安装在e盘,我的路径是"e:/edittools/microsoft  office/office11/msword.olb"),选择完毕后,在弹出的窗口中选择要让classwizard生成的包装类,在本例中要用到 _Application,Documents,_Document,Range这四个类,选中他们后按OK  
 
3.进入你的main函数所在的cpp文件,加入头文件引用  
#include  "msword.h"    //引用刚才classwizard生成的idispatch包装类  
 
4.加入代码   

int   _tmain( int   argc,  TCHAR *   argv[],  TCHAR *   envp[])  

{  
     int   nRetCode   =    0 ;  
     if   ( ! AfxWinInit(::GetModuleHandle(NULL),  NULL,  ::GetCommandLine(),   0 ))  
      {  
         cerr   <<   _T( " Fatal  Error:  MFC  initialization  failed " )   <<   endl;  
         nRetCode   =    1 ;  
     }   
      else   
      {  
          if   (CoInitialize(NULL)   !=   S_OK)    
          {    
             AfxMessageBox( " 初始化COM支持库失败! " );    
              return    - 1 ;  
         }   
         _Application  wordApp;  
         Documents  docs;  
         _Document  doc;  
         Range  aRange;  
         COleVariant  vTrue(( short )TRUE),    
         vFalse(( short )FALSE),    
         vOpt(( long )DISP_E_PARAMNOTFOUND,  VT_ERROR);    
         wordApp.CreateDispatch( " Word.Application " ,NULL);  
         wordApp.SetVisible(FALSE);  
         docs = wordApp.GetDocuments();  
         doc = docs.Open(COleVariant( " d://txt.doc "),vFalse,vTrue,vFalse,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt);  
         aRange = doc.Range(vOpt,vOpt);  
         AfxMessageBox(aRange.GetText()); // 这里GetText得到的就是word文件的纯文本了,你可以将其写到txt文件中   
         doc.Close(vOpt,vOpt,vOpt);  
         wordApp.Quit(vOpt,vOpt,vOpt); 
         CoUninitialize();  
     }   
     
      return   nRetCode;  
 }

 

posted @ 2013-10-17 17:48  songtzu  阅读(589)  评论(0编辑  收藏  举报