C++操作Word学习笔记(二)

【当前博文转自http://www.cnblogs.com/monicazff/archive/2012/03/30/VC.html,貌似作者也是转的。。】

VC操作word实例详解

[转]我们操纵Word需要通过类型库中的MFC类。而这些类,应该都是基于一个叫COleDispatchDriver的类。至少我所了解到的都是这样。

COleDispatchDriver没有基类。COleDispatchDriver类实现OLE自动化中的客户方。OLE调度接口为访问一个对象的方法和属性提供了途径。COleDispatchDriver的成员函数连接,分离,创建和释放一个IDispatch类型的调度连接。其它的成员函数使用变量参数列表来简化调用IDispatch::Invoke。

学习如何自动化控制 Word、Excel 和 Powerpoint 的对象模型的最佳方法是使用这些 Office 应用程序中的宏录制器:

从工具菜单上的宏选项中选择录制新宏,然后执行您感兴趣的任务。
从工具菜单上的宏选项中选择停止录制。
完成录制后,从工具菜单上的宏选项中选择宏,选择您录制的宏,然后单击编辑。
您将看到生成的 VBA 代码,该代码可完成您所录制的任务。记住,录制的宏在大多数情况下并不是最佳代码,但它可以提供快捷可用的示例。

Application:代表 Microsoft Word 应用程序。Application 对象包含可返回最高级对象的属性和方法。例如,ActiveDocument 属性可返回当前活动的Document 对象。

Documents:由 Word 当前打开的所有 Document(文档) 对象所组成的集合。

Document:代表一篇文档。Document 对象是 Documents 集合中的一个元素。Documents 集合包含 Word 当前打开的所有 Document 对象。

Selection:该对象代表窗口或窗格中的当前所选内容。所选内容代表文档中被选定(或突出显示的)的区域,若文档中没有所选内容,则代表插入点。每个文档窗格只能有一个活动的 Selection 对象,并且整个应用程序中只能有一个活动的 Selection 对象。

例子1:


#include "msword9.h" //为了使代码集中,方便阅读,所以把头文件放到了这里
void CStep1Dlg::OnOK()
{
_Application app; //定义一个WORD的应用对象
if(!app.CreateDispatch(_T("Word.Application"))) //启动WORD
{
   AfxMessageBox(_T("居然你连OFFICE都没有安装吗?"));
   return;
}

AfxMessageBox(_T("WORD 已经运行启动啦,你可以用Ctrl+Alt+Del查看"));
app.SetVisible(TRUE); //设置WORD可见。
        //当然,如果你想要悄悄地调用WORD的功能,则注释掉这条语句
AfxMessageBox(_T("现在你已经看到WORD的程序界面了吧"));

AfxMessageBox(_T("WORD准备要退出啦"));
VARIANT SaveChanges,OriginalFormat,RouteDocument; //定义调用QUIT时使用的参数
SaveChanges.vt=VT_BOOL;     //设置退出WORD时候的保存参数
SaveChanges.boolVal=VARIANT_FALSE; //为不保存任何文档,模板及设置

::VariantInit(&OriginalFormat);   //清空变量
RouteDocument.vt=VT_EMPTY;    //清空变量的另一种方法

//调用Quit退出WORD应用程序。当然不调用也可以,那样的话WORD还在运行着那
app.Quit(&SaveChanges,&OriginalFormat,&RouteDocument);

app.ReleaseDispatch();   //释放对象指针。切记,必须调用

AfxMessageBox(_T("Step1执行完成。接着请学习Setp2"));

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值