用户登录
用户注册

分享至

mfc读取word文件内容

  • 作者: 万人齐跪爹爹万岁
  • 来源: 51数据库
  • 2020-04-21

一、请问VC++(MFC)中如何读取文本文件

假设你的是TXT 文件 。

用C读,没问题的 。 你在stdafx.h中加上“stdio.h”。

#include #include "stdio.h"using namespace std;void main(){int data[10000]; int temp=29393; int dex=0; int Row =0; FILE * fp;fp = fopen("1.txt","a+"); if(NULL == fp) {cout< "error="" open="" the="" file"="" ;="" }="" else="" {="" char="" chartemp;="" while((chartemp="fgetc(fp))!=EOF)" {="" if(="" chartemp="=" '\n')="" row++;="" }="" fp="fopen("1.txt","a+");" rewind(fp);="" 将指针移动到开始for(int="" i="">

二、如何用c++读取word文档

基本步骤(1)创建)一个 MFC 的程序工程。

注意:在VC中对WORD进行操作需要在MFC AppWizard - Step 2 of4中的Automaiton选项上打上勾。 (2)Ctrl+W 执行 ClassWizard(本文按照 VC6 操作,示例程序是在VC6 下编写测试的)。

(3)Add Class。\From a type Library。

在 Office目录中,找到想使用的类型库。(我使用的是 Office2003,其Word 的类型库文件,保存在 E:\ProgramFiles\Microsoft Office\Office12\MSWOR.OLB)。

(4)选择类型库文件后,在弹出的对话窗中继续选择要添加的类。具体选择什么类,要看你将来在程序中打算调用什么功能。

当然,也可以不用考虑这么多,用鼠标和Shift键配合,全部选择也可以。 (5)初始化COM。

方法一,找到App的InitInstance()函数,在其中添加AfxOleInit()函数的调用;方法二,在需要调用COM功能的地方 CoInitialize(NULL),调用完毕后CoUninitialize()。 (6)在你需要调用 Office 功能函数的 cpp 文件中 #include //为了方便操作 VARIANT 类型变量,使用 CComVariant 模板类 #include "文件名.h" //具体的头文件名,是由装载类型库的文件名决定的,如MSWORD。

示例程序: //word应用程序 _Application app; //初始化连接 app.CreateDispatch("word.Application"); Documents doc; CComVarianta(_T(strWord)),b(false),c(0),d(true),aa(0),bb(1); _Document doc1; doc.AttachDispatch(app.GetDocuments()); doc1.AttachDispatch(doc.Add(&a,&b,&c,&d)); Range range; //求出文档的所选区域 range=doc1.GetContent();//取出文件内容 str=range.GetText(); m_richedit.SetWindowText(str); //关闭 app.Quit(&b,&c,&c); //释放环境 app.ReleaseDispatch();。

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

如何在控制台程序中读取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;

}

转载请注明出处51数据库 » mfc读取word文件内容

软件
前端设计
程序设计
Java相关