MFC中操作Word文档

MFC程序创建word,创建表格,写入数据 已安装”-“Visual C++”-“MFC”-“TypeLib中的MFC类”-“添加”“实现接口的位置”选择“文件”,“位置”找到“MSWORD.OLB”所在目录,选择打开。“资源视图”中找到对话框资源,打开,双击“确定”按钮,打开对应的按钮响应代码。“解决方案”选择项目,右键“添加”-“类”。测试接口功能:对话框中点击“确定”按钮,生成测试文档。“解决方案”选择项目右键-“添加”-“新建项”:。“应用程序类型”选择“基于对话框”,完成。“文件”-“新建”-“项目”“MFC应用”-“下一步” 阅读详情

        首先我们需要导入word类库(电脑上需要安装了word),左击项目,点击类向导,添加类(C)选择类型库中的MFC类。本文章案例可点击下载。

         然后选择文件,位置选择从office安装目录中找到MSWORD.OLB文件,然后点击>>添加所有类。

         添加完成后,点击完成。

         可以发现word库已经被添加进来了,如下图:

         然后导入如下头文件,并且注释掉以下头文件(.h文件)的里面import导入的内容:

#include "CApplication0.h"   
#include "CDocuments0.h"    
#include "CDocument1.h"    
#include "CSelection0.h"     
#include "CRange0.h"      
#include "CBookmark1.h"    
#include "CBookmarks0.h" 
#include "CnlineShape.h" 
#include "CnlineShapes.h" 
需要注释的代码段

         然后,自己新建一个模板文档(.dot,或者随便新建一个word然后另存为dot,如下下图),在对应位置插入书签,因为这个是后面程序插入数据通过书签确定插入位置。

         最后提供一个简单插入数据的代码示例:

COleVariant    covZero((short)0),
		covTrue((short)TRUE),
		covFalse((short)FALSE),
		covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR),
		covDocxType((short)0),
		start_line, end_line,
		dot(_T("C:\\Users\\Admin\\Desktop\\tmp.dot"));

	CApplication0 wordApp;
	CDocuments0 docs;
	CDocument1 docx;
	CBookmarks0 bookmarks;
	CBookmark1 bookmark;
	CRange0 range;
	CnlineShapes pInShapes;

	if (!wordApp.CreateDispatch(_T("Word.Application")))
	{
		AfxMessageBox(_T("本机没有安装word产品!"));
		return;
	}

	wordApp.put_Visible(FALSE);
	CString wordVersion = wordApp.get_Version();
	docs = wordApp.get_Documents();
	docx = docs.Add(dot, covOptional, covOptional, covOptional);
	bookmarks = docx.get_Bookmarks();

	CSelection0 sel = wordApp.get_Selection();//获取文档的selection
	pInShapes = sel.get_InlineShapes();

	//获取系统时间
	CString currentTime = CTime::GetCurrentTime().Format("%Y%m%d");

	//通过书签写入数据到word模板中
	bookmark = bookmarks.Item(&_variant_t(_T("title")));
	range = bookmark.get_Range();
	range.put_Text(currentTime);
	bookmark = bookmarks.Item(&_variant_t(_T("data1")));
	range = bookmark.get_Range();
	range.put_Text(_T("aaaaa"));
	bookmark = bookmarks.Item(&_variant_t(_T("data2")));
	range = bookmark.get_Range();
	range.put_Text(_T("bbbbb"));
	bookmark = bookmarks.Item(&_variant_t(_T("data3")));
	range = bookmark.get_Range();
	range.put_Text(_T("ccccc"));

	CString strSavePath = _T("C:\\Users\\Admin\\Desktop\\");
	strSavePath += (CString("word") + currentTime + CString(".docx"));
	docx.SaveAs(COleVariant(strSavePath), covOptional, covOptional, covOptional, covOptional,
		covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional);

	// 退出word应用
	docx.Close(covFalse, covOptional, covOptional);
	wordApp.Quit(covOptional, covOptional, covOptional);
	pInShapes.ReleaseDispatch();
	sel.ReleaseDispatch();
	range.ReleaseDispatch();
	bookmarks.ReleaseDispatch();
	wordApp.ReleaseDispatch();
	AfxMessageBox(strSavePath + "生成成功!");

        运行后生成word,打开内容如下:

使用MFC操作Word(使用模板) 创建一个MFC工程,过程略 导入word类库 [Project] -> [Class Wizard...] -> [Add Class...]::[MFC Class from Typelib...];选择Add class from:[File],从Office的安装目录中找到MSWORD.OLB;从Interfaces:中选择所需要的类。这里我们选择了如下几个: _Applica 阅读详情

相关推荐

MFC下使用C++操作Word文档

由于项目需求,在MFC环境下操作将数据和图片写入word文档,之前没有接触过,网上查阅了很多资料,终于把任务完成。理解的不是很透彻,但是这些东西应该够用了,写篇博客记录一下,以便以后再用到。 (1)VS环境下创建一个MFC应用程序,然后在项目上单击右键,选择 类向导-----添加类----类型库中的MFC类。在弹出的对话框中选择文件,位置选择office安装目录下的...

GIS_yuhua的博客 7577

MFC之word操作

当对程序的内容进行输出时,比如自定义对象属性描述或者注释(详细设计)生成文档时,如果采用手动输入会比较麻烦,并且当程序变动时,需要再一次修改对应文档,作为程序员做重复性工作非常难受。代码的意义就是为了自动化流程,减少重复性工作。这里以MFC框架下对word进行读写操作为例,其他语言也有类似接口。

wangyhwyh753的博客 1652

MFC操作word文档,向word文档写入文字

.h文件,需要先包含头文件,头文件见附件 #include "msword9.h" #include "CTables0.h" #include "CnlineShapes.h" #include "CnlineShape.h" #include "CPageSetup.h" #include "CFont0.h" #include "CParagraphFormat.h" .cpp文件 void XXXDlg::OnBnClickedBtn() { COleVariant vTrue((short

想握住此生辽阔 1525

MFC对Word操作

1、导入Word类库 参考:https://blog.youkuaiyun.com/hhhh63/article/details/7652696 2、对Word操作 直接使用类库对Word操作: 文本输出:https://blog.youkuaiyun.com/anqier0468/article/details/50525811 涉及表格输出部分:https://blog.youkuaiyun.com/wang_lich...

qq_16334327的博客 1540

MFC创建Word文档,进行插入表格、图片操作

VS2013+office2013实现Word文档的创建,以及实现插入表格、图片的操作,在数据保存完毕后会弹出窗口选择保存路径,可以保存成doc和PDF的格式。 首先在界面上添加一个保存按钮,然后添加点击事件响应函数OnBnClickedButton1(),函数里面调用报表生成函数OnMakeExport(),OnMakeExport()函数代码如下,对象的创建放到了CTest002Dlg....

风轻时听花落的博客 5911

MFC Windows 程序设计[202]之多文档视图打印(附源码)

MFC是微软公司提供的一个类库(class libraries),用以减少应用程序开发人员的工作量。其中包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。有很多初学MFC的小伙伴们都觉得MFC比较难学,看书吧,看了就忘了,网上的一些教程又是写的含糊不清,故而学习起来很吃力...... 故此,本专栏亲自研究,实践,由易到难,层层深入,将调试过程中所遭所遇进行详细讲解,注意事项进行一一列举,希望能够帮助到各位初学MFC的小伙伴,避免走弯路,费时费力。...

hnjzfwy的博客 621

VC++在MFC应用中打开PDF、Word文档文件

摘要:VC/C++源码,文件操作,Word,MFC VC++在MFC应用中打开PDF、Word文档文件,好像源码过期了,不过看下思路也不旺。VC6.0下可直接编译生成测试文件。 运行环境:Windows/Visual C/C++

基于MFC实现Word文档创建与操作的完整项目实战

MFC(Microsoft Foundation Classes)是微软基于C++封装的一套Windows应用程序开发类库,极大简化了Win32 API的复杂性。在Office自动化场景中,MFC通过集成OLE(Object Linking and Embedding)技术,实现对Word、Excel等应用的程序化控制。OLE自动化基于COM(Component Object Model)机制,允许客户端通过IDispatch接口动态调用远程对象方法。

weixin_42593701的博客 855

VC++ MFC程序通过COM自动化操作Word 2010生成文档实战指南

COM(组件对象模型)是微软Windows平台上实现软件组件间互操作的一套二进制接口标准,其核心原理在于定义了一套独立于编程语言的规范,允许不同进程或机器上的对象进行通信。在桌面应用开发中,COM自动化技术使得外部程序能够驱动和控制诸如Microsoft Office这类支持自动化接口的应用程序,实现程序化操作,极大提升了办公自动化和报表生成的效率与灵活性。对于使用VC++和MFC框架的开发者而言,通过COM自动化集成Word,可以将数据直接输出为格式规范、样式专业的文档,避免了手动拼接文本或依赖简陋导出格

weixin_33733810的博客 355

VC++2010基于MFC实现Word2010文档自动化操作

以下示例演示如何从指定路径加载企业级报告模板:上述代码中,我们显式传递了四个参数:vtTemplate:指向.dotx模板文件;vtFalse:表示非模板编辑模式;(long)0:文档类型为常规文档;vtTrue:使新文档可见。这种方式特别适用于需要保持统一排版风格的企业级文档生成场景。graph TD该流程图清晰展示了从调用Add方法到最终获得可操作文档对象的完整路径。每一步都可通过异常捕获确保健壮性。每个Range。

weixin_35516624的博客 882

MFC导入word.olb生成的word类源代码

MFC导入word.olb生成的word类源代码,生成的msword头文件和源文件

【MFC/C++操作word】Word篇

MFC操作Word 一.初始化操作 1.导入类库 下面的操作基于Word2003 点击查看->建立类向导-> Add Class...\From a type Library...-> C:\Program Files\Microsoft Office\Office\MSWORD9.OLB,接下来就可以看到导入的类msword.h, msword.cpp。 2...

dizhi5320的博客 415

MFC有关word所有操作

MFC有关word的所有详细操作,有源代码,详细注释

vs2005操作word详解

微软word具有很强大的功能,用起来也很方便,可是要在mfc中导入word却没那么容易,经过几天的磕磕绊绊,终于算功夫不负有心人,废话不多说,下面直接进入主题。 首先要导入word库,在头文件中加入 #import "C:\\Program Files\\Microsoft Office\\OFFICE11\\MSWORD.OLB" no_namespace raw_interfaces_onl

zsl65326的专栏 2781

MFC控制WORD实现编辑和打印(适合新手)

简单的MFC程序控制word2003,可用表格控制布局实现文字和图片的布局,并最终实现打印,应用前可安装smartprint虚拟打印机(压缩包中有该软件),本程序适合新手上手了解

MFC程序创建word文档,并向word写入数据(包括表格等)-2025

MFC程序创建word文档,并向word写入数据(包括表格等)_2025

python程序怎么用在mfc中_教你怎么使用Python对word文档进行操作

使用Python对word文档进行操作教你怎么使用Python对word文档进行操作-1.jpg (20.33 KB, 下载次数: 0)2018-10-21 16:43 上传一、安装Python-docxPython-docx是专门针对word文档的一个模块,只能读取docx 不克不及读取doc文件。说白了,python就相当于windows操作系统,QQ就是跑在windows操作系统上的软件,Q...

weixin_29052717的博客 267

FRM模型五:Brinson业绩归因

利用Brinson对基金组合业绩进行归因分析。

stonesssssss的博客 3004
上一篇: SQLite简单使用及其常用函数介绍
下一篇: Qt如何解析Json文件
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值