欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    WPS二次开发 插件教材.doc

    • 资源ID:2388899       资源大小:252KB        全文页数:7页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    WPS二次开发 插件教材.doc

    二次开发 插件教材使用VB开发WPS Office插件使用VB开发WPS Office插件教程内容简介:WPS Office的插件由一个实现了特定接口的DLL、一个XML配置文件以及插件本身需要的其他文件组成。WPS Office 插件DLL实际上是一个实现了_IDTExtensibility2接口的COM组件。 1. _IDTExtensibility2 插件DLL要导出COM要 Office的插件由一个实现了特定接口的DLL、一个XML配置文件以及插件本身需要的其他文件组成。WPS Office 插件DLL实际上是一个实现了_IDTExtensibility2接口的COM组件。_IDTExtensibility2介绍插件DLL要导出COM要求的DllCanUnloadNow、DllGetClassObject、DllRegisterServer和DllUnregisterServer四个函数,并实现_IDTExtensibility2接口。_IDTExtensibility2接口的定义在Kingsoft Add-In Designer类型库中,如果是C+在C:/Program Files/Kingsoft/WPS Office Personal/office6/ksaddndr.dll导入ksaddndr.dll就可以使用这个接口。在这里建议用官网的插件向导生成工程这样容易生成dll文件:插件安装时,WPS Office会将插件DLL注册(DllRegisterServer)到系统中。WPS Office启动时,将通过插件平台(管理插件的模块)加载插件。插件平台通过COM方式创建一个_IDTExtensibility2对象,然后调用_IDTExtensibility2.OnConnection。插件可以在OnConnection中做一些初始化操作,如添加菜单项、工具栏按钮等。OnConnection之后,OnStartupComplete将被调用,至此插件加载完成。WPS关闭时,插件平台先后调用OnBeginShutdown和OnDisconnection。目前,WPS Office插件平台不会调用插件的_IDTExtensibility2.OnAddInsUpdate方法。插件实现一个空的OnAddInsUpdate就可以了,即直接返回S_OK,应避免在其中编写其他代码,以免将来引起兼容问题。1.1Private Sub IDTExtensibility2_OnConnection(ByVal Application As Object, ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, ByVal AddInInst As Object, custom() As Variant) Set app = ApplicationEnd SubOnConnection方法一共带有4个参数。第一个参数Application是宿主程序对象;第二个参数是ConnectMode类型的枚举值;第三个和第四个参数目前没有使用,插件实现OnConnection时必须忽略这两个参数Private Enum ConnectMode ext_cm_AfterStartup = 0 ext_cm_Startup = 1 ext_cm_External = 2 ext_cm_CommandLine = 3End Enum其中,ext_cm_Startup和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用于安装插件过程。安装插件时,WPS Office插件平台会加载插件,并调用OnConnection(Application, ext_cm_AfterStartup),此时插件要做两件事情,即安装后的初始化以及加载初始化。如果插件安装以后不需要进一步的配置等初始化工作,那么对这个插件而言,不需要区分ext_cm_AfterStartup和ext_cm_Startup。一般情况下,插件会在OnConnection中添加菜单项或者工具栏按钮等功能入口。在WPS Office添加的菜单项或者工具栏按钮,分为“临时”和“持久”两种类型。顾名思义,带有“临时”属性的菜单项或工具栏按钮,在WPS Office重新启动以后就不存在了;带有“持久”属性的菜单项或工具栏按钮,在WPS Office重新启动以后,仍然存在。插件添加菜单项和工具栏按钮时,推荐使用“临时”的菜单项和工具栏按钮,在宿主程序关闭时,插件也不要调用API删除菜单或工具栏按钮。插件添加菜单项或工具栏按钮时,建议先检查这些菜单或按钮是否已经存在,以免重复添加。例如: Dim combar As CommandBar Dim cbtn As CommandBarButton Dim combarName As String Set app = Application For Each combar In app.CommandBars combarName = combar.Name If combarName = "sky" Then combar.Delete End If Next Set combar = app.CommandBars.Add("sky") Set cbtn = combar.Controls.Add(KSO.ksoControlButton) With cbtn .Caption = "插入图片" .FaceId = 1 .Style = ksoButtonIconAndCaptionBelow .ToolTipText = "Look UP Sky" End With1.2._IDTExtensibility2.OnStartupComplete插件平台加载插件过程中,会先后调用OnConnection和OnStartupComplete。如果插件需要在插件启动以后(OnConnection执行完之后)做一些事情,可以将这些工作放到OnStartupComplete中执行。大多数情况下,插件可以实现一个空的OnStartupComplete,返回S_OK即可。1.3._IDTExtensibility2.OnBeginShutdownWPS Office关闭过程中,插件平台会调用OnBeginShutdown,通知插件做清理工作,如保存配置、终止未完成的工作、释放系统资源等。OnBeginShutdown在OnDisconnection之前被调用。1.4._IDTExtensibility2.OnDisconnectionOnDisconnection和OnConnection相对应,插件在OnConnection中添加菜单或工具栏命令、注册事件通知,OnDisconnection则注销事件通知。Private Sub IDTExtensibility2_OnDisconnection(ByVal RemoveMode As AddInDesignerObjects.ext_DisconnectMode, custom() As Variant) Set app = NothingEnd SubOnDisconnection带RemoveMode和custom两个参数。其中custom参数目前没有用到,插件忽略这个参数即可;第一个参数RemoveMode是ext_DisconnectMode类型的枚举值,如下所示:Private Enum ext_DisconnectMode ext_cm_AfterStartup = 0 ext_cm_Startup = 1 ext_cm_External = 2 ext_cm_CommandLine = 3End Enum目前只用到了ext_dm_HostShutdown。WPS Office关闭时,插件平台会调用插件的_IDTExtensibility2.OnDisconnection(ext_dm_HostShutdown, custum) 方法。前面推荐插件使用“临时”的菜单和工具栏按钮。使用“临时”菜单和按钮时,插件在处理ext_dm_HostShutdown过程中不需要删除菜单、按钮等项目。2.插件配置文件WPS Office插件的配置文件是一个符合一定命名规则的XML文件。插件配置文件必须和插件DLL放在相同的文件夹中。插件配置文件的文件名必须遵循“addon-name.app-name.lang.xml”这样的格式。a. addon-name插件模块的名称,必须和插件模块的文件名完全一致。如WpsAddonDemo.dll插件,addon-name为“WpsAddonDemo”。b. app-name插件支持的WPS模块,包括:wps、et、wpp、kso,其中kso表示支持WPS Office的所有模块。c. lang插件支持的语言版本,如1033、2052等。“0”表示支持所有语言。假如WpsAddonDemo.dll插件支持WPS Office的所有模块,支持简体中文,那么它的配置文件名称为“WpsAddonDemo.kso.2052.xml”。如果插件需要针对WPS Office的不同模块编写不同的配置文件,那么可以按照以上规则编写多个配置文件。插件平台优先使用精确匹配的插件配置文件,以WpsAddonDemo插件为例,WPS文字启动时,插件平台先查找名为“WpsAddonDemo.wps.2052.xml”的配置文件,若找不到则继续查找名为“WpsAddonDemo.kso.2052.xml”的配置文件,如果都找不到,则说明该插件不支持WPS文字。<ksopluginversion="1">id="70D748C8-974D-44C0-8115-9072478A6009" version="1.0.0.1234" type="comaddin" name="插件示例" author="WPS"desc="WPS Office 插件简介" image="icon.jpg" homepage="help=""loadimm="1"updateitv="7"/>ksoplugin>插件配置文件中至少要包含id、version、type、name四项数据。a.id插件id是插件COM组件的CLSID,WPS Office插件平台将根据id加载插件,获取_IDTExtensibility2接口。这里介绍个工具给你,选择库是工程生成.dll文件下面会说到。b.verion插件版本号使用Windows风格的命名方式,即主版本号子版本号修正版本号构建,如“1.1.0.29”。插件版本号会显示在插件平台对话框中。c.typetype必须为comaddin,说明插件DLL是一个COM组件。d.name在插件平台对话框中看到的插件名称。e.loadimmWPS启动时是否立即加载插件,必须为“1”,表示立即加载插件。好我们打开C:教材点击regaddin.reg注册下,然后启动WPS他会弹出一句话:这句话就是插件平台加载插件过程中,会先后调用OnConnection和OnStartupComplete。如果插件需要在插件启动以后(OnConnection执行完之后)做一些事情,可以将这些工作放到OnStartupComplete中执行。大多数情况下,插件可以实现一个空的OnStartupComplete。好了,我们跑下程序吧,点击工程,生成.dll文件,让后用刚下载的getClsid.exe文件生成id,复制到插件配置文件中,保存,让后启动WPS找到配置文件.xml安装恭喜你,第一个插件做成了。

    注意事项

    本文(WPS二次开发 插件教材.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开