看过一个程序,运行后在excel中添加了一个菜单项和一个工具栏,能实现一些自己定义的功能。我想知道,这种能够修改excel的程序是怎样编写的?谢谢各位。
解决方案 »
- 编写的一个小程序总是很卡
- 帮同事!求一个C++小系统,代码不要太难交老师的。200条代码就行多态什么的用不到啊。
- 混合编程,Dll数组传值问题
- 请高手多帮我看看啊,高分求救!!急急!
- 大家帮我改一下这个问题,关于文件读取的
- 给控件添加鼠标滚轮消息响应的问题,很急! GGJJDDMM帮我!
- 怎样在ADO下得到记录集所有列的个数?
- 现在编程是学C++Builder好呢,还是 学VCC好?
- 向路过的各位高手请教!!!!
- ATL ATL HOW COMILE IDL WITH MIDL
- WINAPI函数 怎么在放在类中实现 ,想把下面的接口文件封装到一个类中来调用??????
- 哪位大哥给一个把Wav转为Mp3的例子,无限感谢,100分送上
office中内部com插件的操作,有公共接口内部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>
其中,TheOfficeApp表示相应程序名,如:Word、Outlook等,ProgID表示内部COM插件程序的唯一标识符的字符串表示形式,如:Outlook2000Addin.Addin等。ProgID键值下主要创建以下四个键值:
1. FriendlyName: 字符串类型,插件的名称,将在相应程序的COM加载对话框中看到。
2. Description: 字符串类型,插件的描述信息。
3. LoadBehavior: DWORD类型,决定插件将以什么形式被装载。当其值为0x03时,为应用程序装载时被自动装载(一般使用此值)、当其值为0x08时,为用户控制激活装载。
4. CommandLineSafe: DWORD类型,命令行方式,可以设置为0x01(真)或0x00(假)。
其它键值的完整描述可参看最新MSDN。具体例子参见以下文章
http://www.vckbase.com/document/viewdoc/?id=648看这个链接,里面有详细的解释,可以仿照写一下