用Delphi开发WpsOffice插件一二

用Delphi开发WpsOffice插件一二

ID:44947242

大小:335.00 KB

页数:29页

时间:2019-11-05

用Delphi开发WpsOffice插件一二_第1页
用Delphi开发WpsOffice插件一二_第2页
用Delphi开发WpsOffice插件一二_第3页
用Delphi开发WpsOffice插件一二_第4页
用Delphi开发WpsOffice插件一二_第5页
资源描述:

《用Delphi开发WpsOffice插件一二》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、标准文案用Delphi开发WpsOffice插件(一)一、开发前的准备工作本文的开发环境是基于delphi7.0和WPSOFFICE2009个人版。开发前要先做好以下准备工作。先导入相关的COM库。打开delphi,点击菜单"Project"---"ImportTypeLibrary...",在弹出的对话框中选择相应的类型库(如下图)。以上五个类型库都要导入,由于每次只能导入一个,所以要分五次导入。“KingsoftAdd-InDesigner”是Add-In插件COM接口对象。“KingsoftOffice1.0Objec

2、tLibrary”是WpsOffice公用对象库COM接口。“KingsoftWPS2.0ObjectLibrary”是WPS文字的COM接口。大全标准文案“KingsoftET2.0ObjectLibrary”是WPS表格的COM接口。“KingsoftWPP2.0ObjectLibrary”是WPS演示的COM接口。二、创建插件框架创建插件COM对象WPSOffice的插件由一个实现了特定接口的DLL、一个XML配置文件以及插件本身需要的其他文件组成。WPSOffice插件DLL实际上是一个实现了_IDTExtensib

3、ility2接口的COM组件,这个接口就在我们刚才导入的“KingsoftAdd-InDesigner”对象中。我们只用创建一个COM对象来实现这个接口,就可以继续我们的开发了。打开delphi7.0,新建一个“ActiveXLibrary”,保存为“SimpleLib.dpr”。再新建一个“AutomationObject”,CoClassName输入我们要创建的类名“SimpleAddin”,然后点击OK按钮。大全标准文案把弹出的类型库编辑器关闭,将unit1保存为“untSimple.pas”,此时单元代码如下:uni

4、tuntSimple;{$WARNSYMBOL_PLATFORMOFF}interfaceusesComObj,ActiveX,SimpleLib_TLB,StdVcl;typeTSimpleAddin=class(TAutoObject,ISimpleAddin)protectedend;大全标准文案implementationusesComServ;initializationTAutoObjectFactory.Create(ComServer,TSimpleAddin,Class_SimpleAddin,ciMult

5、iInstance,tmApartment);end.这是我们创建的com对象源码,它目前还没有实现相关的接口。下面我们要添加要使用的单元和要实现我接口。将光标定位到uses区段,在后面添加三个单元的引用,分别是“AddInDesignerObjects_TLB”、“KSO_TLB”、“WPS_TLB”,然后添加接口的实现。TSimpleAddin=class(TAutoObject,ISimpleAddin,_IDTExtensibility,ICommandBarButtonEvents)protected{实现_IDT

6、Extensibility2}procedureOnAddInsUpdate(varcustom:PSafeArray);safecall;procedureOnBeginShutdown(varcustom:PSafeArray);safecall;procedureOnConnection(constapp:IDispatch;ConnectMode:ext_ConnectMode;constAddInInst:IDispatch;大全标准文案varcustom:PSafeArray);safecall;procedur

7、eOnDisconnection(RemoveMode:ext_DisconnectMode;varcustom:PSafeArray);safecall;procedureOnStartupComplete(varcustom:PSafeArray);safecall;{实现ICommandBarButtonEvents}procedureClick(constCtrl:CommandBarButton;varCancelDefault:WordBool);stdcall;end;由于我们要响应工具栏按钮的单击事件,所以同

8、时添加了ICommandBarButtonEvents接口的实现。现在应该说一个插件的框架已经完成了,具体实现怎样的功能,就看我们自己的实现了。三、实现我们的功能由于是一个示例插件,所以我们要实现的功能很简单,就是在标准工具栏上添加两个按钮,点击不同的按钮弹出不同的信息。在具体实现之前,我

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。