WEB开发网
开发学院软件开发VC Office2000下内部COM插件的编程实现 阅读

Office2000下内部COM插件的编程实现

 2006-07-21 11:45:48 来源:WEB开发网   
核心提示:本文示例源代码或素材下载 简介你也许曾在Office2000下的Word2000、Access2000、Excel2000、PowerPoint2000等软件中的工具条或菜单条资源中,看到一些其它软件加入的新的自定义工具条按钮或菜单条,Office2000下内部COM插件的编程实现,当点击它们时,会有其不同的响

本文示例源代码或素材下载

简介

你也许曾在Office2000下的Word2000、Access2000、Excel2000、PowerPoint2000等软件中的工具条或菜单条资源中,看到一些其它软件加入的新的自定义工具条按钮或菜单条,当点击它们时,会有其不同的响应发生。下面,让我们也来实现这些功能,需要说明的是,在这里我们不用VB/VBA来实现它,而是用VC6中所带ATL(活动模板库)3.0来开发具有这种效果的Office2000内部COM插件。在Office2000中,不管是Word2000、Access2000、Excel120000、PowerPoint2000还是Outlook2000等,它们COM插件的编程方法及步骤都是极其相似的(除注册表中键值及导入相应类型库不同外)。

基础知识

一个Office2000下的内部COM插件必须实现一个_IDTExtensibility2派发接口,_IDTExtensibility2派发接口被定义在MSADDin Designer类型库(MSADDNDR.dll/MSADDNDR.tlb)中,通常位于<盘符>/Program Files/Common Files/Designer下。_IDTExtensibility2接口中必须实现下面五个接口函数(一般只需编写OnConnection和OnDisconnection中代码),分别如下:

1. OnConnection: 装载插件到内存时处理(可以通过自动化在程序启动时自动装载插件)。

2. OnDisconnection: 从内存中缷载插件时处理。

3. OnAddinsUpdate: COM插件改变时处理。

4. OnStartupComplete: 当应用程序启动时插件刚装载完成时处理。

5. OnBeginShutdown: 当应用程序关闭时插件刚缷载完成时处理。

注册插件

只有在正确注册了相应应用程序的内部COM插件时,才能被其应用程序加载上。需要在注册表中创建以下键值:

HKEY_CURRENT_USER\Software\Microsoft\Office\<TheOfficeApp>\Addins\<ProgID>

1 2 3 4 5 6  下一页

Tags:Office 内部 COM

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接