首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在VSTO office插件中创建一个可调用的函数-- COMAddIns.Object永远不是问题

在VSTO(Visual Studio Tools for Office)开发中,可以通过创建COMAddIns对象来实现在Office应用程序中添加自定义功能。COMAddIns对象提供了对Office应用程序的扩展性和自定义性的支持。

可调用的函数是指可以在Office应用程序中通过宏或其他方式调用的自定义函数。在VSTO开发中,可以通过以下步骤创建一个可调用的函数:

  1. 创建一个VSTO项目:在Visual Studio中,选择创建新项目,然后选择VSTO项目模板。根据需要选择适当的Office应用程序(如Excel、Word等)。
  2. 添加COMAddIns对象:在VSTO项目中,打开解决方案资源管理器,右键单击项目名称,选择“添加”->“新建项”。在“添加新项”对话框中,选择“Office”->“COM Add-in”模板,点击“添加”按钮。
  3. 实现可调用的函数:在COMAddIns对象的代码文件中,可以添加自定义函数。例如,可以在COMAddIns对象的Startup事件中添加以下代码:
代码语言:txt
复制
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
    // 注册可调用的函数
    Microsoft.Office.Interop.Excel.Application excelApp = this.Application;
    excelApp.MacroOptions.Add("MyFunction", this.Application.Run);
}

public void MyFunction()
{
    // 自定义函数的实现逻辑
}

在上述代码中,通过Application对象的MacroOptions属性,将自定义函数注册为可调用的函数。然后,在MyFunction方法中实现自定义函数的逻辑。

  1. 构建和部署插件:完成代码编写后,可以构建VSTO项目并生成插件文件。然后,将插件文件部署到目标机器上的Office应用程序中。

通过以上步骤,就可以在VSTO office插件中创建一个可调用的函数。COMAddIns对象提供了扩展性和自定义性的支持,使开发人员能够在Office应用程序中添加自定义功能。

关于VSTO开发和COMAddIns对象的更多信息,可以参考腾讯云的相关产品和文档:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Excel催化剂安装过程详解及安装失败解决方法

因Excel催化剂用了VSTO开发技术,并且为了最好用户体验,用了Clickonce布署方式(无需人工干预自动更新,让用户使用如浏览器访问网站一般,永远是最新内容和功能)。.../p/bc26a8dcdfce 原理介绍 底层环境要求 因插件使用VSTO开发技术,对32位/64位OFFICE完全兼容(市场上非VSTO开发插件,很多就死不能兼容64位OFFICE使用,日后会大量插件使用...自定义函数加载失败处理方法.png 关于Excel催化剂 Excel催化剂先是一微信公众号名称,后来顺其名称,正式推出了Excel插件插件将持续性地更新,更新周期视本人时间而定争取一周能够上线一个大功能模块...Excel催化剂插件下载链接:https://pan.baidu.com/s/1eT2znYM 因插件使用VSTO开发技术完成,插件安装需要电脑满足相关环境配置才能运行,且需连接外网方式实现自动更新机制...最后Excel功能强大,其实还需树立一个观点,不是所有事情都要交给Excel去完成,也不是所有事情Excel都是十分胜任,外面的世界仍然是一个广阔世界,Excel只是其中一枚耀眼明星,还有其他更多同样精彩强大技术

2K30

个人永久性免费-Excel催化剂功能第47波-VBA开发者喜爱加密函数

例如今天介绍几个加密函数.Net Framework类库里,直接有现成代码,几乎可以直接调用程度,对于一些非OFFICE环境内功能实现来说,使用VSTO开发或C#、VB.Net开发,开发效率还是有很大提升...VBA代码调用加解密函数方法 说到重点,VBA开发者可能更多场景还要回到自己VBA代码想要调用其他语言开发好函数,例如此篇自定义函数。...,不会写代码的人也没必要用自定义函数,文件分发出问题等等如此这般回复。...Excel催化剂 Excel催化剂先是一微信公众号名称,后来顺其名称,正式推出了Excel插件插件将持续性地更新,更新周期视本人时间而定争取一周能够上线一个大功能模块。...,且需连接外网方式实现自动更新机制,若下载安装过程中有任何疑问或需要离线版安装等,尽量不单独私聊询问,加QQ群高效解决(群内已汇集了VSTO开发、Powerbi技术、Sqlserver商业智能等方面的国内顶尖大牛人物

3.2K10
  • OFFICE插件管理工具更新,让你安装使用OFFICE插件无忧

    OFFICE插件管理工具】因用户需求而生,1230版本再增加了修复VSTO插件安装过程高频出现type属性错误功能。...新增功能20201230 新增对VSTO插件安装后启动时报一个type属性错误处理方式。原理其实很简单,就是把这个文件删除即可,为懒癌服务,一键删除。 ? ?...若想完成卸载,可以删除对应加载项路径文件。 安装过WPS电脑,可能会出现本功能不可用问题,因WPS强制抢夺了OFFICE接口,开发者群体很被诟病作法。 ?...删除操作,有另外一个场景,可能插件在当前用户和本机用户上都有注册表记录,一般控制插件打开和关闭信息,只需要在当前用户清单里控制即可,可以把多余本机插件清单里信息删除掉。...希望笔者开发此款小工具,能够让大家使用众多OFFICE插件过程,更加顺畅,减少各种意外情况,并且也将OFFICE插件管理更简单和清晰化。

    2K30

    【追加视频】OFFICE插件管理工具重整后再上路,更好用易用。

    删除操作,有另外一个场景,可能插件在当前用户和本机用户上都有注册表记录,一般控制插件打开和关闭信息,只需要在当前用户清单里控制即可,可以把多余本机插件清单里信息删除掉。...,调用简单接口,可能对WPS适配性会好一些。...六、打开OFFICE加载项文件夹 前面提到,本工具仅对COM加载项插件进行管理,普通加载项如Excel以xlam结尾文件(使用xll技术开发插件,同样会落在此清单范围内,如Excel催化剂开发自定义函数和...其快捷打开方式为功能区里打开【开发工具】选项卡,快速通过【Excel加载项】定位到此加载项清单。...希望笔者开发此款小工具,能够让大家使用众多OFFICE插件过程,更加顺畅,减少各种意外情况,并且也将OFFICE插件管理更简单和清晰化。

    1.3K30

    【追加功能】OFFICE插件管理工具重整后再上路,更好用易用。

    特别是近期用户反馈到EasyShu插件不能取消加载问题(这个是一个bug,但无从找到解决办法)。 今天再重新大量测试,算是找到一个管理普通加载项方法,重新追加到OFFICE插件管理工具上。...若想完成卸载,可以删除对应加载项路径文件。 安装过WPS电脑,可能会出现本功能不可用问题,因WPS强制抢夺了OFFICE接口,开发者群体很被诟病作法。 ?...删除操作,有另外一个场景,可能插件在当前用户和本机用户上都有注册表记录,一般控制插件打开和关闭信息,只需要在当前用户清单里控制即可,可以把多余本机插件清单里信息删除掉。...,调用简单接口,可能对WPS适配性会好一些。...希望笔者开发此款小工具,能够让大家使用众多OFFICE插件过程,更加顺畅,减少各种意外情况,并且也将OFFICE插件管理更简单和清晰化。

    1.4K30

    个人永久性免费-Excel催化剂功能第26波-正确Excel密码管理之道

    Excel等文档肩负着我们日常大量信息存储和传递工作,难免出现数据安全问题OFFICE自带密码设置,什么样场景下才有必要使用?...所以一般来说,解决Excel密码问题,也就解决了大部分OFFICE文档密码问题,其他OFFICE文档密码设定也和Excel文档类似。 Excel文档密码相关有如下分类: 1....,后来顺其名称,正式推出了Excel插件插件将持续性地更新,更新周期视本人时间而定争取一周能够上线一个大功能模块。...,且需连接外网方式实现自动更新机制,若下载安装过程中有任何疑问或需要离线版安装等,尽量不单独私聊询问,加QQ群高效解决(群内已汇集了VSTO开发、Powerbi技术、Sqlserver商业智能等方面的国内顶尖大牛人物...最后Excel功能强大,其实还需树立一个观点,不是所有事情都要交给Excel去完成,也不是所有事情Excel都是十分胜任,外面的世界仍然是一个广阔世界,Excel只是其中一枚耀眼明星,还有其他更多同样精彩强大技术

    1.5K20

    Excel催化剂开源第19波-一些虽简单但不知道时还是很难受知识点

    通常许多知识都是知与不知之间,不一定非要很深奥,特别是Excel这样应用工具层面,明明已经摆在那里,你不知道时,永远地不知道,知道了,简单学习下就已经实现出最终功能效果。...查找枚举型完整命名空间 录制宏,得到代码,虽然绝大部分是很容易改写成VB.Net或C#代码,但有一个问题是当录制出来代码有枚举类型时,VBA里枚举是不带命名空间VSTO里,是需要补全此命名空间...对于我们OFFICE使用颜色,就是Ole颜色,对应于VBA接口Color属性值 一般来说VSTO.Net环境下,引用颜色是标准.Net颜色,需要和OFFICE颜色进行转换,转换代码也异常简单...,只需调用一个方法即可。...Color转换 日期转换 同样地,日期转换上,也直接有OLE日期格式,这个方法也是后来偶然知道Excel自定义函数里还傻傻地写过一个转换函数。 OLE日期转换1 OLE日期转换2

    80830

    Excel催化剂开源第32波-VSTO开发插件让WPS顺利调用方法-注册表增加注册信息

    VSTO插件开发完成后,鉴于现在WPS用户也不少,很多时候用户没办法用OFFICE软件,只能在WPS环境下办公,VSTO开发插件,只需增加一句注册表信息,即可让WPS识别到并调用VSTO开发功能,可能部分功能让...为了让所有插件都能顺利被WPS识别到,索性来一个遍历,所有插件都在注册表里添加一条记录供WPS识别,注册表增加几条记录,也不算是什么垃圾拥堵(WPS安装过程貌似也注入了大量常规用户会安装到插件,实际电脑上没有安装过也会注入...,所以人家WPS还是人性化,为用户着想),也省下不少用户要为特定VSTO来每次做处理。...\Excel\Addins",@"Software\Kingsoft\Office\ET\AddinsWL" }, {@"Software\Microsoft\Office...\Office\Word\Addins",@"Software\Kingsoft\Office\WPS\AddinsWL" }, };

    1.4K10

    VSTO之外另一开发利器Excel-DNA介绍,VSTO与Excel-DNA优缺点分析

    前面一种介绍了许多VSTO开发插件一些功能和零散提到VSTO开发一些好处,今天在这里来个180大翻脸,开始谈下VSTO开发插件一些不足。...顺便给大家介绍下,一个同样精彩开发方式,使用Excel-DNA开发自定义函数加载项。...开发出来VSTO插件,对用户OFFICE版本有要求,一般需要OFFICE2007及以上才可使用。...可以使用.net语言来开发Excel插件,利用.net丰富现有资源,例如做个MD5函数,几句代码就可完成。 1.3....开发自定义函数利器,VSTO开发自定义函数发布给用户机器使用时麻烦,要对注册表注册,需要管理员权限,但Excel-DNA开发完全没有这些烦恼,用户双击即可打开使或进行加载项载入,下次打开Excel

    4.9K41

    Script Lab 09:异步调用函数,PowerPoint基础操作

    本次举一个较简单例子, PPT 上插入一个 SVG 形状,这也是 Script Lab 自带一个例子(总共也只有 5个 API 案例)。...Office API 应用程序异步函数有通用签名格式,Office API 应用程序所有异步函数都有相同命名约定和相同基本签名。...枚举 asyncContext:一个用户定义对象,作为回调函数唯一参数传递给该函数 AsyncResult 对象无变化返回。...AsyncResult 对象异步函数角色 JavaScript API for Office 异步函数通用签名第三个参数是可选回调参数。...作为一个 VSTO 开发老兵,曾经花了五年时间国内推广 VSTO 技术,也曾为创造国中PPT插件市场出了点绵薄之力。

    1.7K20

    Script Lab 版,九九乘法表,Excel 基础操作(2)

    最后是 OfficeHelpers 空间中找到了,这点是跟 VBA/VSTO 不一样地方,但是一通百通,明白了就 OK 了,下回专门为这个空间作个介绍吧,代码如下: OfficeHelpers....forceCreateSheet(context.workbook, "9X9"); 【打印乘法表】 上一课也讲了如何为单元格赋值,有了上课基础,这里代码就不是问题了。...context.sync OfficeJS API 示例代码,总能看到这样一句代码: await context.sync(); 从官网上查询一番,得到意思大概是这样,之前代码只是添加到内部执行队列...而且文档还提到,应该尽量减少同步函数调用次数。每个 sync 都会造成宿主应用程序(此处是 Excel)额外开销,尤期是 Office Online 时,成本更是大大增加了。...今天代码,主要是解决一个编程习惯问题,去找一些现成 VBA 代码去改造成 Web Add-ins 插件,或是个不错主意。

    1.1K60

    【坐等WPS兼容时刻到来】开源分享完整ExcelDNA框架Excel插件项目

    例如,EasyShu插件图表分类,使用动态加载方式,模板搭建好后,后期轻松管理,并且最终整个功能区元数据如引用图片、描述说明文本、绑定方法等均可在Excel工作表上维护(本demo未进行此复杂化处理...二、功能区引用图片,已绑定使用资源方式引用 将图片导入到资源轻松强类型智能提示式引用到所需图片,自行到图标网站上采集更漂亮美观图标,不要再用OFFICE内置那些土图标了。...三、完整任务窗格调用代码供学习参考 VBA里,可是用不了任务窗格,而任务窗格又是非常棒交互体验,具体参考笔者开发几大插件,大量使用到任务窗格。...四、自定义函数示例 ExcelDNA最大魅力,莫过于用于开发自定义函数,简单易用,并且用户体验也是最棒,智能提示效果是VBA或VSTO开发所不能及。...同时Excel催化剂自定义函数,也3年前已经github上开源了,想了解更多函数算法或动态数组函数开发,自行到github上下载临摹。

    2.2K10

    Excel插件-多工作薄合并工具之安装注意事项和下载地址公布

    咋看是有些麻烦,但实质是更加安全、友好,用户环境搭建好情况下,基本只需双击这样动作就能打开使用,不需设置宏安全性、宏警告等VBA开发插件所面对问题,特别适合企业级别的开发使用。...最最突出是此种VSTO方式开发插件是Excel文档和实现功能代码可以分离,对插件维护、升级、错误修复等等一些开发过程不可避免问题时,使用VSTO数据和代码分离技术,数据保存在用户电脑,代码开发者开发好重新发布...例如之前已经使用过其他OFFICE插件被要求安装过。或日后再使用其他OFFICE插件时不用再下载安装此两部分底层组件。 ?...安装过程可能需要重启和需要管理员权限才能安装,若没有管理员权限请咨询IT 部门协助安装。 插件安装 解压插件程序文件夹到电脑某一位置 ? 双击后出现一个安装提示,点击【安装】即可 ?...点击完安装后,将加载代码,出现相应功能,如未出现以下功能界面,可能系统底层运行环境未安装好引起,重新回到开头部分所说,安装完两个底层环境,最好重启一下再运行插件。 ?

    84920

    【附社区入驻】选择WPSJS技术开发优劣势探讨

    笔者开发运营【Excel催化剂】、【EasyShu】、【EasyShuForPPT】等插件过程,被无数次问到是否支持WPS。...OFFICE插件作为OFFICE软件附属,不是独立性软件,太多坑,各种奇怪问题,永无止境。能够把部署体验做好,单纯这一点就非常有优势。...现在很不幸是WPS官方跑通案例,竟然是集中文档方面的,而不是表格方面的,官方案例是OA助手,主要是用来处理文档场景。但传统OFFICE开发,必然是以Excel表格开发占大部分。...网页开发有其必然局限性,对本地资源调用权限极有限 对于开发个人市场插件,这一点也是非常大重伤,如果用户数据不在云端,自己本地电脑上,网页开发技术将变得非常无力,因为它不能碰触本地资源,没有这个权限...例如一个很常见场景:批量插件本地图片到表格上,因为图片是本地,只能让用户先上传图片操作,才有可能让插件拿到图片,再做其他操作。

    81220

    攻击者使用 VSTO 接替宏进行武器化攻击

    微软 Visual Studio IDE 中提供了一个软件开发工具集 VSTO,通过 VSTO 可以支持 .NET 开发 Office 加载项,还允许创建能够执行这些加载项 Office 文档文件...武器化 VSTO 由于 VSTO 仍然不是一个重要攻击向量,也没有被安全厂商加以重视,这可能会导致 VSTO 会越来越受欢迎。...本地 VSTO 本地 VSTO 会将 .NET 编译 .DLL 加载项及其依赖项与为执行它而创建 Office 文档存放在一起,例如 ISO 文件。...例如,恶意 Word 文档从远程获取 VSTO 加载项: 远程 VSTO 下载 DLL 加载项,嵌入了下载加密 ZIP 文件代码。...结论 尽管 VSTO 实际并不常见,但由于其攻击能力完整,研究人员认为未来会有更多攻击者开始采用这种攻击向量,尤其是国家级攻击组织。

    88330

    OFFICE插件管理工具-帮助更好地管理及使用电脑安装过OFFICE插件

    OFFICE软件世界,除了由微软提供OFFICE软件功能外,还有大量功能由第三方开发者完成,市面上也存在大量OFFICE插件供用户选择。...因插件使用过程,有兼容性问题插件间冲突问题插件运行慢和运行异常等问题,笔者在此给大家开发了简单易用管理工具,让大家无需会复杂操作,也可将安装在电脑中各种插件管理起来。...以上这一系列难题,Excel催化剂开发出来OFFICE插件管理工具】都可迎刃而解。...结语 OFFICE软件是赋能用户可以更高效地完成工作,插件很多时候比原生OFFICE软件更好用,因为其更有针对性地解决特定问题。 能够知道利用插件来提升工作效率,是个非常聪明作法。...同样过往作品还有 【VSTO插件供WPS使用.exe】:让VSTO开发出插件,可以同步到WPS上使用。

    1.2K20

    WPSJS插件新成员-WPS演示催化剂,永久性免费使用

    二、当前市场状况 1.Web Viewer 官方以外插件社区,也有一些插件作过一些探索,其中比较出名插件是微软OFFICE最新JS插件开发技术Web Viewer插件。...2.Power BI Ties 同样是微软OFFICEJS插件,这个插件,也只能用于展示PowerBI报表,不能展示其他网页,收费价格也不菲,免费水印打上去根本没法用。...3.EasyShuForPPT 这个是笔者开发VSTO插件,可以满足任意网页插入到PPT场景,理论上WPS演示也能使用。...2.原生网页控件 上述几个插件,都不是使用原生网页控件,就算OFFICE应用商店插件,貌似是有网页控件,但其依赖于Windows下网页浏览器IE版本(未有Edge版本电脑),这些都极大地限制了最终插件加载网页时流畅性和稳定性...自己用,分享其他人使用都没问题

    4K30

    Excel催化剂开源第21波-使用Advanced Installer打包VSTO几个注意问题

    VSTO项目开发完毕完,最终需要分发给用户,需要Excel催化剂用是Clickonce发布方式,但也面临到部分用户环境要求太高,设置过程太繁锁,而要求有一些简单安装方式,用打包工具将其打包为一个EXE...一般选择解决方案文件即可 想让程序以管理员方法安装,所有用户都可用 这个实际情况的确出现过,用户电脑不是管理员身份,电脑被限制了安装软件权限,在用户电脑上没法正常安装VSTO项目,用管理员权限安装成功后...只能以当前用户安装 同样,回到非向导界面,可以看到有多个类型修改,但不管用,在此处更改安装到Per Machine,最终改变只是安装文件夹事情。修改后安装完,普通用户插件仍不可见。...非向导可以看到有多个类型修改,但不管用 解决办法:有可能VSTO项目,Excel读取时,只会在注册表Current User上目录下寻找插件,管理员权限安装,不会在当前Current User上写入条目...,所以需要在当前用户登录下,注册表Current User目录下写入插件信息,特别需要注意插件安装位置部分要同步修改过来。

    1.1K30

    Excel催化剂功能第4波-一大波自定义函数高级应用,重新定义Excel函数学习和使用方法

    数组公式新解 Excel催化剂此次更新自定义函数,将有一个很震撼部分是,数组公式已经不再是什么高深难以掌握知识技术,它使用方法和体验和普通公式已经接近一样了,同样只需理解我输入什么,函数黑箱出处后返回什么...,包括很早之前安装过,当使用是自动更新版本(电脑访问外网),自定义函数已经安装成功在你电脑中,如需确认,可在公式选项卡插入函数按钮,下拉三角型查看所有的函数类别,其中新增自定义函数最下方可查看到...当普通Excel用户不需要在编程环境中就可以使用正则表达式功能,这是不是很让人惊喜万分事情 当然开发人员可以随时Excel上简单一个公式就可以调用出正则表达式功能,也是一件十分愉快事情。...Excel催化剂插件下载链接:https://pan.baidu.com/s/1eT2znYM 因插件使用VSTO开发技术完成,插件安装需要电脑满足相关环境配置才能运行,且需连接外网方式实现自动更新机制...擅长技术领域:Excel等Office家族软件、VBA&VSTO二次开发、Sqlserver数据库技术、Sqlserver商业智能BI技术、Powerbi技术、云服务器布署技术等等。

    1.4K20

    个人永久性免费-Excel催化剂功能第27波-Excel工作表设置快捷操作

    工作表设置插件入口 打开窗体时,检测当前工作表设置进行初始化,如若某项未打勾,就是当前工作表未进行激活设置结果,可点击相应筛选框进行设置,设置过程是实时可视化,对各名称不了解的话,反复多试试,...,重新定义Excel函数学习和使用方法 第5波-使用DAX查询从PowerbiDeskTop获取数据源 第6波-导出PowerbiDesktop模型数据字典 第7波-智能选区功能 第8波-快速可视化数据...,且需连接外网方式实现自动更新机制,若下载安装过程中有任何疑问或需要离线版安装等,尽量不单独私聊询问,加QQ群高效解决(群内已汇集了VSTO开发、Powerbi技术、Sqlserver商业智能等方面的国内顶尖大牛人物...最后Excel功能强大,其实还需树立一个观点,不是所有事情都要交给Excel去完成,也不是所有事情Excel都是十分胜任,外面的世界仍然是一个广阔世界,Excel只是其中一枚耀眼明星,还有其他更多同样精彩强大技术...擅长技术领域:Excel等Office家族软件、VBA&VSTO二次开发、Sqlserver数据库技术、Sqlserver商业智能BI技术、Powerbi技术、云服务器布署技术等等。

    95820
    领券