• 如何在控制台程序中读取WORD文档的内容?


    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;  
    }
  • 相关阅读:
    常用网络操作命令
    C语言中的位域[转]
    状态机——一种强大的思想利器
    9030PCI CAN驱动开发点滴
    驱动开发中应该注意的事项
    java 从网络Url中下载文件
    windows pyspider 爬虫安装
    java list去重
    Java 文件分块及合并
    工程部署到linux
  • 原文地址:https://www.cnblogs.com/zhangyin/p/663345.html
Copyright © 2020-2023  润新知