惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
T
Tailwind CSS Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
L
LangChain Blog
博客园 - 【当耐特】
I
InfoQ
腾讯CDC
人人都是产品经理
人人都是产品经理
H
Help Net Security
Y
Y Combinator Blog
B
Blog
博客园 - Franky
Microsoft Security Blog
Microsoft Security Blog
Stack Overflow Blog
Stack Overflow Blog
The Cloudflare Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
WordPress大学
WordPress大学
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 叶小钗
D
Docker
博客园 - 聂微东
B
Blog RSS Feed
G
Google Developers Blog

博客园 - 张尹

Windows管道技术简述 内核printf源代码分析 获得控制台程序的输出 简单封装的一个彩色进度条 C语言编程技巧汇萃(包含大量实用函数) 一个编程函数集(包含大量C实用函数) MD5算法说明及源码 C51 怎样将1个子程序段定位在1个固定的地址位置? 动态真彩工具栏 一个实用的 CToolBar 扩展类 CToolBarEx 一步步制作真彩工具条 [转载精品]C++程序员经常问的11个问题 关于CRichEditCtrl中文字颜色的控制 如何制作Windows自定义边框的对话框 MFC下窗口分割和文字输出的实现 让ListBox控件支持拖动 VC通用控件编程之CSlider控件 CListCtrl使用详解 一个不错的算法
如何在控制台程序中读取WORD文档的内容? - 张尹 - 博客园
张尹 · 2007-03-04 · via 博客园 - 张尹

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;  
}