这个系列的上一篇是一个不短的视频,是我们财应同学的出镜,这一篇我找个比较典型的场景从代码层面讲讲怎么利用ribbon控制WPS加载项和WPS自身功能。

ribbon是什么

Ribbon是一种以面板及标签页为架构的用户界面,原先出现在Microsoft Office 2007后续版本的Word、Excel和PowerPoint等组件中,后来也被运用到Windows 7的一些附加组件等其它软件中,如画图和写字板,以及Windows 8中的资源管理器。(这段儿摘自维基百科)

WPS利用ribbon做的是界面的定义,就是「标签选项卡」的这种界面。WPS加载项作为可以对WPS界面做自定义的一种扩展开发方式,也遵循ribbon的规范。以通过wpsjs创建的一个纯净的Demo为例,在Demo的根目录下有三个文件,作用如下说明:

  • index.html:入口文件,WPS启动后加载WPS加载项,就以这个文件为入口
  • main.js:index.html包含的,负责核心js的加载,开发者可以自主添加其他js文件
  • ribbon.xml:自定义功能区定义文件,遵循ribbon的CustomUI规范。

在ribbon.xml中,有几个常用的控件,之下用代码做个说明:

<customUI 

  • tabs:这里控制的就是WPS界面里的功能区,如下图:

这里面常用的OA菜单开启显隐处理,用的就是getVisible这个方法, insertBeforeMso表示要在WPS自身某个tab之前显示,insertAfterMso表示在某个WPS自身tab之后显示,当前设置就是将「OA辅助」做了显示在「开始」之前。
那些用idMso控制的tab,就是WPS自身的tab,可以控制显隐。

  • commands:这里控制的是WPS的自身定义的命令,例如「新建」、「保存」这样的命令,给出的也是常用的命令的idMso,可以支持控制是否可用getEnabled和做功能重定义onAction。
  • contextMenus:这是可以定义一个右键菜单。

Web对话框和任务窗格

这两个就是WPS特有的两个WPS加载项提供的UI扩展方案,原理就是利用WPS内部自带的浏览器(CEF)来显示指定的网页。这里有个特性,就是WPS会在网页渲染是动态的在DOM树的window节点下注入wps这个对象,这样不论什么网页,只要是在WPS内部打开,在这个网页上都可以直接调用WPS的jsapi。

还是以wpsjs创建的Demo为例,在ui这个文件夹下:

dialog.html就是Web对话框,taskpane.html就是任务窗格,本质上他们没有区别,只不过在WPS内部显示的时候根据使用场景不同而已。

  • Web对话框

这就是Demo中Web对话框的效果。这个网页可以是WPS加载项自身工程中的。

  • 任务窗格

这个任务窗格就是直接加载的一个非WPS加载项工程内的网页,直接指向一个网络可达的URL即可。

这个网页的window节点下就会注入wps这个对象,可以直接使用。

大家可以留言讲讲常用的UI控制场景,也希望这篇可以给大家对于利用WPS加载项做UI界面定义做个导引。

  • 开源Demo获取地址
  • 强烈建议大家安装wpsjs这个工具做开发:npm i -g wpsjs

WPS office根目录在哪?_WPS加载项深入开发代码解析-2相关推荐

  1. wps office oa控件 痕迹_WPS加载项案例应用回顾

    2019年的武汉,金山办公召开了第一届开发者大会,主题是「开放赋能.合作共赢」,2020年8月29至30日,在重庆召开了第二届,主题是「在一起.创未来」.上一届发布了WPS PC Office的WPS ...

  2. wps2019数据分析加载项_WPS加载项——集成创新 体验升级

    在政企的各种业务中,文档作为一种高价值密度的信息载体,文档的全生命周期管理是用户自身和各类业务系统都必须关注的.尤其在当前信创快速推进的大背景下,对业务厂商和文档管理服务商都提出了不小的挑战.从政策角 ...

  3. wps加载项初步开发

    技术选型 应公司要求,在不连外网情况下,需要完成服务器文档的预览.编辑.上传等功能.于是选用了wps客户端的加载项开发. 参考资料: wps客户端开发文档 wps客户端开发文档 wps加载项demo地 ...

  4. Office 加载项怎么开发

    要开发 Office 加载项,首先需要满足一些系统需求,包括: 安装 Office 开发人员工具,可以在 Office 安装包中找到,也可以从 Microsoft 官网下载. 安装 Visual St ...

  5. WPS office根目录在哪?_WPS和office到底区别在哪?工作学习中我们该如何选择?

    Office和WPS是大家都非常熟悉的两款办公软件,因此,使用Office和WPS的用户都非常多,那么,Office和WPS选择哪一些软件更好呢?关于这个问题,小编给大家分享一下来自知乎用户:给大家带 ...

  6. WPS office根目录在哪?_wps和office的区别是什么

    wps和office经常被大家混淆为一款软件,其实这个说法并不准确,其实这两者还是存在一些区别的,那么wps和office的区别是什么?今天小编就为大家带来了wps和office有什么区别的教程,下面 ...

  7. WPS加载项系列(1)第一个WPS项目

    前言 任何一个新技术的学习使用,一般都由demo开始,然后逐步深入直到完全掌握,这个也不例外,所以这个系列的第一篇文章主要写的是如何将官方提供的demo跑起来. 一.项目地址 官方提供的演示示例(OA ...

  8. wps出现安装installer_wps总出现稿纸加载项安装怎么办 - 卡饭网

    安装Word2003稿纸加载项使用Word稿纸 安装Word2003稿纸加载项使用Word稿纸 默认情况下,Word2003没有设置稿纸格式的功能.不过用户可以通过安装微软提供的Word2003稿纸加 ...

  9. excel2007无法加载mysql_Excel2007中进行无法安装加载项的解决方法

    最近在学数学模型,用规划求解来计算.以前用Excel XP,知道在工具中加载相关的宏,然后很顺利地就能求解.但是用Excel 2007就找不到北了,今天,学习啦小编就教大家在Excel2007中进行无 ...

  10. wpsjs 预加载项打包部署 ,安装成功后插件未能显示

    wpsjs 预加载项打包部署 ,安装成功后插件未能显示. 检查方法 请检查kingsoft\wps\jsaddons该目录下的 "jsplugins.xml" 列如: C:\Use ...

最新文章

  1. python基础知识资料-Python基础知识汇总
  2. Java并发编程高级篇(十):分离任务的执行和结果的处理
  3. Lucene.Net(转)
  4. ajax调用后台java类_ajax调用java后台方法是什么
  5. go tcp连接_TCP漫谈之keepalive和time_wait
  6. Leetcode 142 Linked List Cycle II
  7. Linux 启动顺序
  8. EJB3.0技术体系---学习笔记
  9. 在云端开展深度学习正逢其时
  10. idea引不进jdk的包_idea install 时提示jdk的某个jar包的包不存在的问题
  11. 第一章 : JVM与体系结构
  12. 利用python和递归实现赶鸭子问题
  13. ✠OpenGL-10-增强表面细节
  14. 计算机英语及教学法,计算机英语教学方法探析
  15. 三维扫描技术在精密注塑件尺寸检测中的应用
  16. 参考文档:《基于多目标算法的冷热电联供型综合能源系统运行优化》
  17. 树莓派3B+神经计算棒实时人脸追踪机器眼
  18. 游戏平台如何设置公会分成
  19. 【作业调查题】时限:1s 空间:256m
  20. 搭建祥云首发最新正版代刷网最新可用源码

热门文章

  1. 为VSCode 设置好看的字体:Operator Mono
  2. 运行在WEB上的电子海图数据
  3. wcdma系统随机接入过程的流程图_随机接入过程
  4. Print Conductor中文版
  5. python画航线图_Python获取航线信息并且制作成图的讲解
  6. vs2005 c++ mfc程序无法打开资源文件
  7. 人工智能数据集文本处理Onehot/TF/TFIDF矩阵的生成
  8. ant design 上传+自定义上传
  9. pytorch与街景识别学习笔记
  10. oracle 客户端怎样配置,oracle 之客户端配置