项目实战开发——Day04

本文详细介绍使用MFC操作Word文档的方法,包括导入Word类库、创建应用对象和文档对象,以及编辑文档的具体步骤。文章深入探讨了通过录制宏来了解操作对象及属性设置,并提供了与Excel操作相似的思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近琐事比较多,忘记整理知识点,实在是罪过。今天补补课。

项目中需要将数据库中的测试信息导出并打印。这个比较虐心。搞了好几天,终于整出了点头绪。

下面介绍下通过MFC 操作Word的一些编程知识。我也刚入门,不当之处还请博友们批评指正。

MFC操作WORD的步骤:

1、新建MFC工程并导入WORD相关类库

新建工程步骤不在赘述,主要是word类库的导入(VS2013)。

Project->Calss Wizard->Add Class->MFC Class from Typelibrary

弹出如下对话框

在该对话框中,找到 Add class from 标签,选择File单选框,然后再下面的Location中输入自己电脑Officed的安装路径,找到MSWORD.OLB,如图所示。

根据需要选择导入相关的接口。其中

_Application

_Document

是最基本的,本项目导入了

#include "CApplication.h"
#include "CBookmark0.h"
#include "CBookmarks.h"
#include "CBorders.h"
#include "CBorder.h"
#include "CCells.h"
#include "CCell.h"
#include "CDocuments.h"
#include "CDocument0.h"
#include "CFont0.h"
#include "CRange.h"
#include "CSelection.h"
#include "CTables0.h"
#include "CTable0.h"
#include "CPageSetup.h"
#include "CColumn.h"
#include "CColumns0.h"
#include "CRow.h"
#include "CRows.h"
#include "CParagraphs.h"
#include "CParagraph.h"
#include "CShapes.h"
#include "CShape.h"

每一个头文件对应word操作中一个类别的操作,如Tables接口管理文档中所有的表格,Table接口管理文档中的某个具体的表格等。

1、创建WORD应用对象和文档对象,(相当于打开word.exe)

CApplication wordApp;
CDocuments docs; 
if (!wordApp.CreateDispatch(_T("Word.Application")))
{
	AfxMessageBox(_T("对象创建失败,请重试!"));
	return;
}
docs = wordApp.get_Documents();//CDocuments用于管理所有当前在Word中打开的Document对象的集合。

2、创建一个文档(CDocument)。

//1、使用模板
//模板文件保存路径为F:\\test.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("F:\\test.dot"));

docx = docs.Add(dot, covOptional, covOptional, covOptional);
//2、不使用模板
docs.Add(&CComVariant(L""),&CComVariant(FALSE),&CComVariant(0),&CComVariant(TRUE));

3、MFC编辑Word文档

创建完成后即可通过调用函数向文件内写入数据。

相关的对象主要是CRange、CSelection、CParagraphs、CParagraph等。

MFC 操作word生成表格相关对象主要是CTables、CTable、CCells、CCell、CRow、CColumns、CColumn等。

具体的操作可以通过office的录制宏查看调用的对象。具体方法为:

office2013版本下

视图—>宏—>录制宏即可。我们可以选择对键盘或者鼠标进行监控。

宏1记录了在新建文档中输入内容:

this is a test file

的相关代码

宏2记录了在word中新建表格的相关代码

宏3记录了在word中输入内容并换行的代码。

通过查看宏中的代码我们可以知道调用那些对象,需要设置那些属性,属性值如何设置等内容。

然后结合微软的帮助文档  https://docs.microsoft.com/zh-CN/office/vba/api/overview/进行相关的开发。

对Excel的操作与此类似。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值