vsto下开发wps插件

摘要:
我们要开发wps插件了。之前用vsto开发过word插件,我也讲过c#下如何开发wps插件。如果采用c#从头再开发wps插件,那么开发出来的office加载项就会出现两个。wpsAddin插件就一个Ribbon项,点击sayHello,它会向你问好。我们再来看看wps下的表现:点击sayHello,如图:这就是一个插件,在不同的word中,表现不同,实现的功能不同。因此,我就以此来判断,用户当前打开的是office,还是wps。如果你选择的是wps,那么插件中会调用wps的Api,选择的是word,同理。

我们要开发wps插件了。之前用vsto开发过word插件,我也讲过c#下如何开发wps插件(有点繁琐)。如果采用c#从头再开发wps插件,那么开发出来的office加载项就会出现两个。我们要实现的wps和word插件一致的功能。office加载项如图所示:

vsto下开发wps插件第1张

如何才能够让office和wps插件兼容呢?也就是说一个插件,既可以在word中使用,也可以在wps中使用。我做了个测试的插件wpsAddIn。上图是office下的,这个插件功能极其简单,往往简单的东西,能够直达事情的本质。

vsto下开发wps插件第2张

wpsAddin插件就一个Ribbon项,点击sayHello,它会向你问好。我们再来看看wps下的表现:

vsto下开发wps插件第3张

点击sayHello,如图:

vsto下开发wps插件第4张

这就是一个插件,在不同的word中,表现不同,实现的功能不同。这一切是如何做到的?且听我慢慢道来。

1 public partial classThisAddIn2 {3         private objectwordApplication;4 5 6         private void ThisAddIn_Startup(objectsender, System.EventArgs e)7 {8 9             wordApplication = this.Application;10 11             string appName = "word";12             if (wordApplication.ToString().Contains("ComObject"))13 {14                 appName = "wps";15 }16 17             Console.WriteLine("现在notefirst运行在" + appName + "下");    18         }

vsto会自动帮我们生成一个重要的类:ThisAddIn,vsto的很多秘密就藏于此。当我在wps下打印this.Application.ToString()的时候,发现了它包含ComObject字符串,而word没有。因此,我就以此来判断,用户当前打开的是office,还是wps。这不禁想起一首诗:

一片树林里分出两条路——
而我选择了人迹更少的一条,
从此决定了我一生的道路

而 ThisAddIn_Startup就是那片树林。如果你选择的是wps,那么插件中会调用wps的Api,选择的是word,同理。

免责声明:文章转载自《vsto下开发wps插件》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇一、OPENERP 的一个demo[Craftor原创]PADS Layout 快速输出Gerber文件步骤下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

WPS for linux 中不能切换到中文输入法

转载自:http://blog.sciencenet.cn/blog-200199-1032795.html 尽管安装有中文输入法,wps有时仍然不能切换到中文输入法,此问题解决方案如下: 根账户下打开wps文件:gedit /usr/bin/wps 在#!/bin/bash下面添加: export XMODIFIERS="@im=fcitx"export...

java导出生成word

最近做的项目,需要将一些信息导出到word中。在网上找了好多解决方案,现在将这几天的总结分享一下。 目前来看,java导出word大致有6种解决方案:   1:Jacob是Java-COM Bridge的缩写,它在Java与微软的COM组件之间构建一座桥梁。使用Jacob自带的DLL动态链接库,并通过JNI的方式实现了在Java平台上对COM程序的调用。D...

用任务计划管理计划任务对付任务计划-禁止WPS提示升级

作为一名至今还在坚守着64位XP的XP用到死星人,因为准备升级电脑,所以准备移民外星,开始使用Windows7。其实我新电脑买来一年了,为了坚守XP,扔在一边没有装(华硕Z9PE-D8 WS主板,双E5-2637CPU,32G内存,8个SSD硬盘,4个显卡)。 为了装新机器,同时为了拾起扔了不少年的电脑技术,研究了一段时间的Windows7,也看了一下...

使用wps跨ubuntu和windows编辑“.doc”文档。报错“编辑受限”,乱码,软件卡死,强制关闭

背景介绍: 本人使用wps跨ubuntu和windows编辑“.doc”文档。文档一直存放在移动硬盘上,切换系统没有插拔移动硬盘。切换系统好几次,一切正常。 某日早晨,在ubuntu下编辑文档,保存,转入windows下打算继续编辑。windows下打开文档时,报错“编辑受限”,乱码,软件卡死,只能强制关闭。 尝试以下方法: 1)把文档从移动硬盘拷贝到wi...

中文分词:双向匹配最大算法(BI-MM)

中文分词:双向匹配最大算法(BI-MM) 启发式规则: 1.如果正反向分词结果词数不同,则取分词数量较少的那个 2.如果分词结果词数相同 a. 分词结果相同,就说明没有歧义,可返回任意一个 b. 分词结果不同,返回其中单字较少的那个 代码实现 #使用双向最大匹配算法实现中文分词 words_dic = [] import BMM #引入逆向匹配算...

jacob使用入门及问题解析

转自:http://blog.csdn.net/hemingwang0902/article/details/4377994 本博客 jacob 列文章导读Java操作Microsoft Word之jacob jacob使用入门及问题解析使用Jacob将Word转为Html或txt 使用Jacob将Word转为PDFjava通过jacob调用word (根...