欢迎来到天天文库
浏览记录
ID:11180782
大小:261.00 KB
页数:7页
时间:2018-07-10
《wps二次开发 插件教材》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、二次开发插件教材使用VB开发WPSOffice插件使用VB开发WPSOffice插件教程内容简介:WPSOffice的插件由一个实现了特定接口的DLL、一个XML配置文件以及插件本身需要的其他文件组成。WPSOffice插件DLL实际上是一个实现了_IDTExtensibility2接口的COM组件。1._IDTExtensibility2插件DLL要导出COM要Office的插件由一个实现了特定接口的DLL、一个XML配置文件以及插件本身需要的其他文件组成。WPSOffice插件DLL实际上是一个实现了_IDTExt
2、ensibility2接口的COM组件。_IDTExtensibility2介绍插件DLL要导出COM要求的DllCanUnloadNow、DllGetClassObject、DllRegisterServer和DllUnregisterServer四个函数,并实现_IDTExtensibility2接口。_IDTExtensibility2接口的定义在KingsoftAdd-InDesigner类型库中,如果是C++在C:/ProgramFiles/Kingsoft/WPSOfficePersonal/office6
3、/ksaddndr.dll导入ksaddndr.dll就可以使用这个接口。在这里建议用官网的插件向导生成工程这样容易生成dll文件:http://bbs.wps.cn/viewthread.php?tid=21838734&highlight=%E6%8F%92%E4%BB%B6%E5%90%91%E5%AF%BC。下载下来解压,点击addinwiz.exe生成工程,例如现在生成在c:教材目录下,好了找到工程打开我们逐一个介绍他的用法插件安装时,WPSOffice会将插件DLL注册(DllRegisterServe
4、r)到系统中。WPSOffice启动时,将通过插件平台(管理插件的模块)加载插件。插件平台通过COM方式创建一个_IDTExtensibility2对象,然后调用_IDTExtensibility2.OnConnection。插件可以在OnConnection中做一些初始化操作,如添加菜单项、工具栏按钮等。OnConnection之后,OnStartupComplete将被调用,至此插件加载完成。WPS关闭时,插件平台先后调用OnBeginShutdown和OnDisconnection。目前,WPSOffice插件平
5、台不会调用插件的_IDTExtensibility2.OnAddInsUpdate方法。插件实现一个空的OnAddInsUpdate就可以了,即直接返回S_OK,应避免在其中编写其他代码,以免将来引起兼容问题。1.1PrivateSubIDTExtensibility2_OnConnection(ByValApplicationAsObject,ByValConnectModeAsAddInDesignerObjects.ext_ConnectMode,ByValAddInInstAsObject,custom()As
6、Variant)Setapp=ApplicationEndSubOnConnection方法一共带有4个参数。第一个参数Application是宿主程序对象;第二个参数是ConnectMode类型的枚举值;第三个和第四个参数目前没有使用,插件实现OnConnection时必须忽略这两个参数PrivateEnumConnectModeext_cm_AfterStartup=0ext_cm_Startup=1ext_cm_External=2ext_cm_CommandLine=3EndEnum其中,ext_cm_Star
7、tup和ext_cm_AfterStartup是插件平台加载COM插件时传入OnConnection的。ext_cm_External和ext_cm_CommandLine目前没有用到。a.ext_cm_StartupWPS启动时,插件平台会立即加载COM插件,调用OnConnection(Application,ext_cm_Startup)。b.ext_cm_AfterStartup用于安装插件过程。安装插件时,WPSOffice插件平台会加载插件,并调用OnConnection(Application,ext_c
8、m_AfterStartup),此时插件要做两件事情,即安装后的初始化以及加载初始化。如果插件安装以后不需要进一步的配置等初始化工作,那么对这个插件而言,不需要区分ext_cm_AfterStartup和ext_cm_Startup。一般情况下,插件会在OnConnection中添加菜单项或者工具栏按钮等功能入口。在WPSOffi
此文档下载收益归作者所有