由于学习C++操作word文档是临时需要,所以有些东西也只是知其然不知其所以然,有些代码也是抄了人家的,拿来应需。
C++操作word听说有两种方法,一种是COM、一种是ATL,这里用的是COM。有些函数不知道参数是什么意思时,可以找到函数原型帮助理解。Word的预定义枚举类型都是Wd开头,如WdSeekView::wdSeekMainDocument表示文字视图,WdSeekView::wdSeekCurrentPageHeader表示页眉视图,使用这些枚举类型,可以帮助参数的设置。
这里给出了两个昨天写的例子,能运行的。环境是VS2008和Office2003。第一个例子介绍了创建新文档、插入表格、输入文字、字体设置、设置表格边框、合并单元格、设置页眉页脚、插入图片、保存文件等功能的方法。第二个例子生成了一个完整的报告,包括页边距、段落对齐等。
具体步骤:
1.新建MFC工程,project - add class,选择file。找到Office安装目录下的MSWORD.OLB文件,如C:\\Program Files\\Microsoft Office\\OFFICE11\\MSWORD.OLB
2.加入需要的接口,下面例子中,C开头的类都是此处加入的接口
3.VS2008会为工程添加相应头文件,此时需要把头文件里的
#import "C:\\Program Files\\Microsoft Office\\OFFICE11\\MSWORD.OLB" no_namespace
改成
#import "C:\\Program Files\\Microsoft Office\\OFFICE11\\MSWORD.OLB" no_namespace raw_interfaces_only \
注意,“\”字符后面不能加空格
3.#include // 为了方便操作 VARIANT 类型变量,使用 CComVariant 模板类
4.好了,可以编程了
//例子1
void CMyWordDlg::OnBnClickedButton1()
{
//CPageSetup pagesetup=doc.get_PageSetup();//页面设置相关,没用到