频 道 直 达 - 新闻 - 读书 - 培训 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

使用Visual C++使Office自动化(1)

作者: 出处:51CTO.com  (  ) 砖  (  ) 好  评论 ( ) 条  进入论坛
更新时间:2007-02-01 10:49
关 键 词:Visual C++  Office  自动化
阅读提示:您可以使用自动化功能从 Visual C++ 应用程序中控制 Microsoft Office 组件。本文提供使 Office 自动运行所需的基本信息以及指向相关资源和示例代码的指针。

更多信息

自动化(以前称为 OLE 自动化)是一种技术,该技术允许您利用现有程序的功能并将其合并到您自己的应用程序中。例如,您可以在应用程序中使用Microsoft Word 的拼写和语法检查功能,而不让用户看到 Microsoft Word。您甚至可以使用 Microsoft Excel 的所有图表、打印和数据分析工具。该技术可以大大简化和加快您的开发。

自动化和COM

自动化建立在组件对象模型 (COM) 的基础上。COM 是一种基于接口的标准软件结构,旨在将代码分离为独立的对象。可以将它看作是面向对象编程 (OOP) 范例的扩展,但是它也适用于单独的应用程序。每个对象都公开一组接口,到对象的所有通信(如初始化、通知和数据传输)都是通过这些接口进行的。

COM 还是随操作系统一起安装的动态链接库 (DLL) 所提供的一组服务。自动化会用到其中的许多服务。其中一个示例就是“封送处理”服务,该服务将客户端应用程序的调用打包到服务器应用程序接口的成员函数中,然后将这些函数及其参数传递给服务器应用程序。服务器的接口可能会在客户端的内存空间中公开,但是,如果客户端是 .exe 文件,而且在自己的进程空间运行,则不会出现这种情况。封送处理还可以跨越进程边界从服务器的方法中获取返回值,并将这些值安全地传递给客户端调用。

各种 COM 库提供了对自动化非常重要的许多其他服务。关于这些服务的信息来源包括:

◆“Inside OLE - Second Edition”,Kraig Brockschmidt 著,ISBN 1-55615-843-2
◆“Inside COM”,Dale Rogerson 著,ISBN 1-57231-349-8
◆“Automation Programmer's Reference”,ISBN 1-57231-584-9

从Visual C++ 使用自动化的三种方法

可通过以下三种基本方法来使用自动化:MFC、#import 和 C/C++:

◆借助于 MFC,您可以使用 Visual C++ ClassWizard 从 Microsoft Office 类型库生成“包装类”。这些类以及诸如 COleVariant、COleSafeArray 和 COleException 之类的其他 MFC 类可简化自动化任务。此方法优于其他方法,通常建议使用该方法,并且大部分 Microsoft 知识库示例都使用 MFC。
◆#import 是 Visual C++ 5.0 中引入的一个新指令,它可以从指定的类型库创建 VC++“智能指针”。它的功能非常强大,但通常不建议使用它,因为它与 Microsoft Office 应用程序一起使用时,经常会出现引用计数问题。
◆C/C++ 自动化要困难得多,但有时为了避免由于使用 MFC 时所造成的开销或避免使用 #import 时所出现的问题,需要使用该方法。基本上,您会用到 CoCreateInstance() 这样的 API 以及诸如 IDispatch 和 IUnknown 之类的 COM 接口。

必须注意,C++ 中的自动化与普通的 C 中的自动化稍有不同,因为 COM 是围绕 C++ 类设计的。 有关使用 C 进行自动化的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

181473 (http://support.microsoft.com/kb/181473/) 如何在 C 应用程序中而不是在 C++ 中使用 OLE 自动化

如何使用Office 类型库

类型库与 C/C++ 头文件类似。它包含服务器发布的接口、方法和属性。您可以使用 Visual C++ 附带的 OLE/COM 对象查看器 (Oleview.exe) 来查看类型库。下面列出了 Microsoft Office 95、Microsoft Office 97、Microsoft Office 2000 和 Microsoft Office XP 的类型库文件名:

Office 应用程序 类型库
Word 95 及更低版本 wb70en32.tlb
Excel 95 及更低版本 xl5en32.olb
PowerPoint 95 及更低版本 PowerPoint.tlb
Access 95 及更低版本 msaccess.tlb
Binder 95 binder.tlb
Schedule+ sp7en32.olb
Project pj4en32.olb
Team Manager mstmgr1.olb
Word 97 msword8.olb
Excel 97 excel8.olb
PowerPoint 97 msppt8.olb
Access 97 msacc8.olb
Binder 97 msbdr8.olb
Graph 97 graph8.olb
Outlook 97 msoutl8.olb
Outlook 98 msoutl85.olb
Word 2000 msword9.olb
Excel 2000 excel9.olb
PowerPoint 2000 msppt9.olb
Access 2000 msacc9.olb
Outlook 2000 msoutl9.olb
Word 2002 msword.olb
Excel 2002 excel.olb
PowerPoint 2002 msppt.olb
Access 2002 msacc.olb
Outlook 2002 msoutl.olb
Office Word 2003 msword.olb
Office Excel 2003 excel.exe
Office PowerPoint 2003 msppt.olb
Office Access 2003 msacc.olb
Office Outlook 2003 msoutl.olb


共2页: 1 [2] 下一页
【内容导航】
发表
查看
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·Java基础教程 (查看52473次)
·UML类图详解 (查看46951次)
·Java编程开发手册 (查看25172次)
·UML统一建模语言 (查看24155次)
·C#技术开发指南 (查看22515次)
·Java编程开发手册 (1195个砖)
·Java基础教程 (429个砖)
·C#技术开发指南 (304个砖)
·PB开发教程 (220个砖)
·.NET开发手册 (217个砖)
·Java编程开发手册 (653个好)
·Java基础教程 (569个好)
·.NET开发手册 (251个好)
·PB开发教程 (209个好)
·Delphi开发技术手册 (174个好)
订阅技术快讯
电子杂志下载
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
名称:Vista精品应用黄皮书
简介:《Vista精品应用黄皮书》囊括了Vista的各方面内容。此次的精简版,是将里面的内容做了提取,便于用户下载和使用。内容包含了各种Vista的安装与实施、技巧与解析以及各种Vista相关学习文档和相关软件的安全下载。该电子书是了解和应用Vista人员必备的工具手册,并且也是第一本
名称:2006中国IT论坛精品集合
简介:本书由“51CTO论坛推广联盟”制作完成。书中所有内容均来自各联盟成员的论坛(网站)。制作本书的目的是为了集中大家的优势资源,将更多更精彩的内容带给广大技术爱好者。本书是联盟成立以来制作的第一本书。
关键字阅读
频道精选
主编信箱 热线:010-66476606 告诉我们您想看的:专题 文章
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 意见反馈 | 网站地图
Copyright©2005-2007 51CTO.COM 版权所有