首页 > 其他分享 >Vsto识别wps和office

Vsto识别wps和office

时间:2023-10-16 15:33:19浏览次数:41  
标签:插件 word office wps ThisAddIn Vsto wordApplication

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

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

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

 

 

 点击sayHello,如图:

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

public partial class ThisAddIn
    {
        private object wordApplication;


        private void ThisAddIn_Startup(object sender, System.EventArgs e)
        {

            wordApplication = this.Application;

            string appName = "word";
            if (wordApplication.ToString().Contains("ComObject"))
            {
                appName = "wps";
            }

            Console.WriteLine("现在notefirst运行在" + appName + "下");
        }

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

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

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

标签:插件,word,office,wps,ThisAddIn,Vsto,wordApplication
From: https://www.cnblogs.com/guangzhiruijie/p/17767423.html

相关文章

  • MASA MAUI 预览Office文件
    目录背景介绍1、新建MAUIBlazor项目2、创建OfficeViewer.razor组件3、使用安卓模拟器运行4、兼容iOS总结背景接到一个在Maui中预览Office文件的需求,包含excel、word、PDF三种常见的文件,经过技术选型,最后选择了微软原生支持的office在线预览Api,原因是此技术方案简单、跨平台。在......
  • centos7.9 安装 openoffice
    1.环境信息centos7.9+openoffice4+jdk82.下载软件https://www.openoffice.org/zh-cn/选择linux版本的tar.gz3.将下载好的安装包通过ftp等工具,上传到服务器上 4.登录服务器,解压缩并安装#切换到上传的文件所在目录cd/d/resources/openoffice4_src#解压......
  • PageOffice6 版本常用事件
    1、AfterDocumentOpened事件打开文件后自动触发的事件是AfterDocumentOpened事件,它通常用于实现文件打开后自动执行某些业务逻辑,比如将默认控件全屏、禁止保存、另存、打印,或者显示或隐藏痕迹等。因此,所有需要在文件打开后自动触发的业务逻辑代码都可以放在此事件中执行。在实......
  • pageoffice多用户同时在线编辑word文档
    转载:多用户同时编辑多用户同时编辑注意本文中展示的代码均为关键代码,复制粘贴到您的项目中,按照实际的情况,例如文档路径,用户名等做适当修改即可使用。总体来说,各种Web系统中的Word文档在线处理大体可以分为以下四种流转处理方式:A用户编辑完,流转给B用户修改,再流转给C用户修改,直......
  • 免费安装微软官方正版OFFICE
    最近几年来,博主一直都是使用的正版的office的key,也就是基友们拼车合买一个家庭版的套装,毕竟一年就四五十元钱,两杯咖啡的钱,也没必要到处找破解浪费时间,况且破解版的也有安全问题。偶然有一个机会,发现有博主分享可以安装免费的、正版的office的方法,微软官方免费的正版office,值得拥有......
  • VSTO详细打包安装过程
    我们开发完成一个插件之后,当然是打包发布给其他人安装使用。打包的作用是安装必要的运行环境和减少安装的难度。VSTO自带有个发布安装的功能,位置如下图:该功能生成的安装包有自动检查所需要的.Net框架和VSTO组件并下载和安装。但其最后安装的位置我们不能自己定义,会自动把插件安......
  • VSTO自动更新部署方案
    dll部署ClickOnce部署很方便,但是没有版本倒退的功能。在实际的项目中,插件版本往往和数据版本有关联的,切换到指定的svn或git版本,希望也能有对应版本的插件功能。以svn版本控制为例,说明怎么使用dll部署。插件本体项目仍然采用ClickOnce部署的方式,不过可以不填远程Url,因为不存在插......
  • MAC Office 插件异常 Run-time error '53'
    问题描述:Office版本和Mathtype版本不兼容,卸载mathtype后,加载项无法加载出现如下报错:Filenotfound:/Library/ApplicationSupport/Microsoft/Office365/UserContent.localized/Startup.localized/PowerPoint/MathType.bundle/Contents/MacOS/MTMacOLEshim.解决方法问题处在......
  • Office三件套小技巧
    当谈到Office三件套(Word、Excel和PowerPoint)的小技巧时,以下是非常详细的内容,确保不错过任何小知识点。让我们逐个介绍:MicrosoftWord小技巧:快速格式化文本:使用Ctrl+B、Ctrl+I和Ctrl+U分别快速添加粗体、斜体和下划线格式。创建自定义标签页:在"文件"菜单中选择"选项",......
  • 泛微OA e-office平台uploadify.php任意文件上传漏洞
    0x01漏洞描述泛微e-office系统是标准、易用、快速部署上线的专业协同OA软件,国内协同OA办公领域领导品牌,致力于为企业用户提供专业OA办公系统、移动OA应用等协同OA整体解决方案。泛微OAe-office平台uploadify.php处存在任意文件上传漏洞,攻击者通过漏洞可以获取服务器权限。 ......