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

『Excel进化岛精华曝光』 VSTO插件开发的撤销功能实现

不破坏原数据,其实最好的方案是用自定义函数实现,如果需要用按钮功能,只需要将生成的新数据写入到新工作表或新区域即可。Excel催化剂大量的功能遵循此原则来处理。...https://learn.microsoft.com/zh-cn/visualstudio/vsto/walkthrough-calling-code-in-a-vsto-add-in-from-vba...笔者现在大量的分享,特别是带示例案例分享,都转移到了知识星球,想高效深入学习,可以进来看看。本文的demo示例已经分享在其中了。...https://t.zsxq.com/0bLAZMgc0 上面的VSTO实现撤销功能,本质上是VSTO开放接口给外部VBA语言来调用,但如果使用ExcelDNA框架开发,并不需要这么麻烦,项目中还要带一个...例如笔者在Excel催化剂插件中实现的一些鼠标右键功能,也是一个套路,这部分的功能,其实是在【自定义函数.xll】文件里开发完成的。

78420

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

题外话 本人也是从Excel的VBA语言入门了编程世界的,然后很偶然的机会接触到VSTO,并且在一位热心的网友一路的帮助下,算是入门了C#语言,现在可以灵活地用C#实现自己想要的一些小功能(大部分是抄百度和...例如今天介绍的几个加密函数,在.Net Framework类库里,直接有现成的代码,几乎可以直接调用的程度,对于一些非OFFICE环境内的功能实现来说,使用VSTO开发或C#、VB.Net开发,开发效率还是有很大的提升...在VBA代码中调用加解密函数方法 说到重点,VBA开发者可能更多场景还要回到自己在VBA代码中想要调用其他语言开发好的函数,例如此篇的自定义函数。...总结 在我过往发表的众多自定义函数里,大部分直接照搬了.Net Framework类库里的函数,让其能够在Excel环境以自定义函数的形式来使用,当中也收到许多反馈说能用自定义函数的人都自己写VBA代码...第17波-批量文件改名、下载、文件夹创建等 第18波-在Excel上也能玩上词云图 第19波-Excel与Sqlserver零门槛交互-查询篇 第20波-Excel与Sqlserver零门槛交互-数据上传篇

3.2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

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

    顺便给大家介绍下,一个同样精彩的开发方式,使用Excel-DNA开发自定义函数加载项。...面向对象编程,代码管理更方便,其实本人也不太有面向对象的编程思想,不能编出给其他人用的类,但却可以源源不断地用别人封装好的类库,属于编程群体中的使用者,非制造者。 2....开发出来的VSTO插件,对用户的OFFICE版本有要求,一般需要OFFICE2007及以上才可使用。...开发自定义函数的利器,VSTO开发自定义函数在发布给用户机器使用时麻烦,要对注册表注册,需要管理员权限,但Excel-DNA开发的完全没有这些烦恼,用户双击即可打开使或进行加载项载入,下次打开Excel...可以对自定义函数进行用户输入提示功能,效果和原生的工作表函数的提示功能接近,这是VSTO和VBA开发所没法做到的。 1.7.

    5K41

    .NET周刊【7月第2期 2024-07-14】

    首先,介绍了中间件的作用和使用场景,包括认证、授权、日志记录等。然后,讲解了通过请求委托添加中间件、按约定添加内置中间件、创建自定义中间件类以及基于工厂的中间件的具体实现方法。...Simple WPF: WPF自定义一个可以定义步长的SpinBox https://www.cnblogs.com/mrchip/p/18290697 本文介绍了如何使用WPF通过按钮和文本输入框实现一个简单的...主要包括使用AWSSDK调用S3 API、配置App.config文件、响应按钮事件、编写上传函数等具体步骤。文章详细展示了从创建WPF项目到编写异步上传函数的完整实现方法。...扩展了参数收集的灵活性 锁定对象 索引运算符改进 \e 转义序列 部分属性 方法组中自然类型的改进 “async”方法和迭代器中的“ref”和“unsafe” 关于扩展类型的更新 扩展类型推迟到 C#...我想使用 VSTO 插件查看键盘操作 - Qiita https://qiita.com/ikuzak/items/3706dee143e90d6c4131 如何监视 VSTO 外接程序中的键盘击键。

    15810

    Excel集成网页控件,内嵌于Excel单元格区域,可加载任意网页

    其实现的原理是利用VSTO插件特有的并且是Excel开发特有的,在工作表范围内使用自定义控件的方式,让插件插入自定义控件,而自定义控件可以是.net开发里的winform窗体任意形式的自定义控件,如插入图片时为...传送门:Excel催化剂开源第9波-VSTO开发图片插入功能,图片带事件 本篇的网页控件也一样,其不过是使用了第三方网页控件MiniBlink,一款体积最小的基于Google浏览器内核的开发组件。...传送门:【直播回看】新功能ECharts交互式分级填色地图+PPT图表展示插件 具体步骤 先圈定需要插入网页控件的单元格区域,在最新版本Excel催化剂中,点击【数据分析】组中的【内嵌网页】控钮即可打开配置网页窗体...可使用【选择本地Html文件】按钮从本地硬盘中查找需要展示的离线网页,默认会跳转到EasyShu的ECharts图表文件夹内供选择。...功能的完善和使用体验的提升,一直在努力,特别是本次国庆期间的升级,让在线版的更新体验提升许多,在迁移服务器的过程中,追加了许多主流的服务器技术如对象存储和CDN网页加速速度,这些体验的提升,也增加了不少的费用

    1.2K30

    Excel催化剂开源第12波-VSTO开发遍历功能区所有菜单按钮及自定义函数清单

    在插件开发过程中,随着功能越来越多,用户找寻功能入口将变得越来越困难,在Excel催化剂 ,将采用遍历所有功能的方式,让用户可以轻松使用简单的查找功能找到想要功能所在位置,查找的范围有:功能按钮的显示名称...按钮功能查找关键词文本来源 这个遍历功能区按钮属性,不确定在xml功能区中能否实现,在设计器功能区,因其已经被强类型为一个类对象,用反射技术可以将这个Ribbon类下所有的控件及属性给遍历出来。...自定义函数效果 代码实现 给用户一个按钮,点击后遍历到工作表中。...,通过在自定义函数里作了一个自定义函数,专门用于遍历自定义函数的属性,已经开源在自定义函数项目中。...在VSTO项目里,仅需用Application.Run就可以访问到xll里的自定义函数ListUdfDesc,同时有个小要点是自定义函数返回的数组,下标是从1开始的Excel特有的,和.net的0为下标的不一样

    90820

    Office 365开发概述及生态环境介绍(一)

    这本书以及John本人对我影响之大,很难用一两句讲清楚——在那个相对单纯的年代,我一头扎进Excel VBA的世界里,收获的可不仅仅是写代码带来的乐趣,还有在微软技术社区(那会儿叫新闻组)中认识的一大批朋友...针对.NET开发人员,微软还专门提供了OpenXML SDK,支持从自定义程序中通过OpenXML的标准操作Office文档(不要求本地安装有Office)。 ?...宏——macro——是VBA中的一个重要概念,通常可以简单理解为一组代码。 ?...这里就是我们熟悉的.NET编程的体验,可以用到几乎所有.NET Framework的功能,目前VSTO支持的开发语言除了VB.NET,还有C#。...必须提出的是,微软对于VBA和VSTO的支持将继续保留,它们有自己的优势,尤其是对于Office 应用程序自有功能的自动化、快速开发、在本地使用的场景。

    3K20

    Excel催化剂开源第10波-VSTO开发之用户配置数据与工作薄文件一同存储

    在传统的VBA开发中,若是用的是普通加载项方法,是可以存储数据在xlam上的,若用的是Com加载项方法同时是Addins程序级别的项目开发的,配置文件没法保存到工作薄中,一般另外用配置文件来存放供调用。...(如果是xlsm或文档型VSTO项目可以做到数据在文件中,但代码也仅能对此文档有效,对其他文档无效,也不是此处需要的完美解决方案) 大部分人能想到的方案是在自定义属性里CustomDocumentProperties...使用CustomXMLPart对象保存配置信息 在xlsx版Excel文件中,区别于传统的xls文件,其文件本质是xml文件集合,在xlsx版文件结构中,除去工作表外,有另外一个对象同样可以存储数据,其存储数据的要求只要是...且此对象不止于在VSTO内使用,在VBA上也同样有此对象可供计用。...有以上.Net天然地对XML友好使用体验,在Excel上使用CustomXMLPart对象就变得十分轻松自在。

    1.3K20

    swing之常见组件

    这些组件在实际开发中应用广泛,接下来对这些组件逐个讲解。 提交按钮由JButton对象创建,它的常见方法如表12.6所示。...JButton类的常见方法 常用方法 功能描述 public JButton() 创建一个不带文本或图标的按钮 public JButton(Icon icon) 创建一个带图标的按钮 public void...setText(String text) 设置按钮上的文字为text 表12.6中列举出了JButton类的常用方法,之前创建JButton按钮都是用默认图标,从表12.6中的构造方法可看出按钮可以自定义图标...,接下来演示JButton按钮自定义图标,首先将自定义的图标“btn.jpg”放到当前目录,然后编写代码,如例12-6所示。...例12-6运行结果 图12.6中,运行程序先创建了JFrame窗体,然后指定URL引入图片,新建按钮时将icon以参数传入了自定义的图标。

    6310

    Excel催化剂开源第18波-工作表、工作薄保护破解

    在各大插件中,破解工作表、工作薄密码的功能比比皆是,此篇开源确实有些炒冷饭凑文章的嫌疑,但换个角度,当时笔者开发过程中,找寻相关的代码,也还是花上一些的时间在百度里找了好久,原因如下: 1.大部分能够找到的代码都是...VBA的代码 这说明在Excel高级开发群体中,特别是VSTO、COM加载项开发群体中,还是守口如瓶的,仿佛越是高级的开发者,越对自己掌握的“核心”技术保密,希望Excel催化剂这一系列的开源文章对此风气有所好转...代码实现 工作表保护破解 在微软官方文档中,看到工作表保护在Excel2013上得到增强,着实吓一跳,以为是旧的破解代码肯定会失效。...而非像其他VBA方法那样只是遍历工作表复制到新的工作薄中,这样可能会引起原文档中有宏代码或其他自定义文档信息等不能同步带过去。...此篇简单地实现广大开发者广为熟知的功能,代码换成了C#的形式,可在VSTO上实现此功能,希望此代码段在愿意学习、查找的人手中能被找到并复用起来。

    1.1K40

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

    此篇提供一些简单的知识点,部分有代码段,部分只是操作界面即可得到,供VSTO新手们学习。...查找枚举型的完整命名空间 在录制宏中,得到的代码,虽然绝大部分是很容易改写成VB.Net或C#代码的,但有一个小问题是当录制出来的代码有枚举类型时,在VBA里的枚举是不带命名空间的,在VSTO里,是需要补全此命名空间的...整个设置过程中,只需界面的方式设置,同时选择对应的数据类型,同时需要注意范围是用户还是应用程序级的。...对于我们OFFICE使用的颜色,就是Ole颜色,对应于VBA接口的Color属性值 一般来说在VSTO的.Net环境下,引用的颜色是标准.Net颜色,需要和OFFICE的颜色进行转换,转换的代码也异常简单...Color转换 日期的转换 同样地,在日期转换上,也直接有OLE的日期格式,这个方法也是后来偶然知道的,在Excel自定义函数里还傻傻地写过一个转换函数。 OLE日期转换1 OLE日期转换2

    81330

    个人永久性免费-Excel催化剂功能第31波-数量金额分组凑数功能,财务表哥表姐最爱

    在财务工作过程中,很大时候需要使用到凑数的需求,花了两三天时间认真研究了一下,本人水平也只能做代码搬运工,在用户体验上作了一下完善。完成了Excel版的凑数功能。...抱着对Google科学家们的敬仰,学习了一点皮毛,也放到插件里使用了。 使用方式 本篇的功能,仍然采用自定义函数的方式实现,自定义函数较功能区按钮优越的地方,在前面29波中已有阐述,不再重复。 ?...B列存放的是分组的标记,组1的和为90,和右边定义一致 若使用OR-TOOLS函数,在B列上可以看到更多的信息,如组名,组的大小,组的实际记录和和期望和的差异(0为无差异) ?...第17波-批量文件改名、下载、文件夹创建等 第18波-在Excel上也能玩上词云图 第19波-Excel与Sqlserver零门槛交互-查询篇 第20波-Excel与Sqlserver零门槛交互-数据上传篇...Excel催化剂插件下载链接:https://pan.baidu.com/s/1gC6joqGY_SIg_yONga9PaQ 因插件使用VSTO开发技术完成,插件的安装需要电脑满足相关的环境配置才能运行

    1.8K20

    深入浅出话命令

    命令的使用大概分为以下几步: (1)创建命令类:即获得一个实现ICommand接口的类,如果命令与具体的业务逻辑无关则使用WPF类库中的(RoutedCommand)类即可。...中输入内容之后,Button在命令可执行状态下变为可用,此时单击按钮或者按Alt+C,TextBox就会被清空,效果如下图: ?...这些命令都是ApplicationCommands类的静态属性,所以它们的实例永远只能有一个,这就引起了一个问题:如果界面上有两个按钮一个用来创建Student档案,一个用来创建Teacher档案。...比如我们可以自定义一个Save的命令,当命令到达命令目标的时候先通过命令目标的IsChanged属性判断命令目标的类容是否已经改变,如果改变,命令可以执行,命令执行会直接调用命令目标的Save方法,驱动命令目标以自己的形式去保存数据...,实际工作中可以使用图标,按钮或者更复杂的内容来填充它,但要适当更改激发命令的方法。

    1.7K40

    .NET混合开发解决方案4 WebView2的线程模型

    如果未打开则创建新的Tab页,Tab页中创建WebView2控件,使用LoadWebBrowser()方法加载模型。...用于在下面的第2个业务场景中。 (2)单击模型节点创建Tab页,页签中使用WebView2组件加载网页,渲染智能审查结果。...在某个模型网页中审查,点击保存按钮后需要转到Form窗体中找到对应的模型节点。所以首先找到该模型对应的WebView2组件,如34行代码。...form.BeginInvoke() 方法获取 创建控件(WebView2)的基础句柄所在的线程(主线程,UI线程),然后异步执行委托,委托中调用窗体中的业务方法实现审查意见列表的更新与节点图标的更换。...C#语言中的延迟   在 C# 中使用 Deferral 时,最佳做法是将其与using块一起使用。 即使在using块中间引发异常,该using块也可确保Deferral已完成。

    3.2K30

    Word中使用代码高亮插件

    一年前我写了一个word2010的代码高亮插件,但当时那个版本有一个问题:在用word发布博客的时候,高亮的代码在博客中的格式乱了。...安装插件后,会在word中多一个功能区(支持word2007和word2010): ? 点击"设置"按钮,弹出设置界面: ? 这里简化了配置,去掉了前一个版本中的一些设置。...点击"插入代码"按钮,弹出如下界面: ? 可以选择C#、Java、Xml、Javascript等多种语言。 在word效果如下: ?...codeBlock来自定义自己喜欢的样式。...所以我们在博客中,不得设置所有ol的style,幸好博客园的文章都是在一个id为cnblogs_post_body的div下的,所以我在我博客中加了下面的style: #cnblogs_post_body

    1.5K20

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

    因Excel催化剂用了VSTO的开发技术,并且为了最好的用户体验,用了Clickonce的布署方式(无需人工干预自动更新,让用户使用如浏览器访问网站一般,永远是最新的内容和功能)。...中获取数据源 - 简书https://www.jianshu.com/p/21b2ca8fd2b8 Excel催化剂功能第6波-导出PowerbiDesktop模型数据字典 - 简书https://www.jianshu.com.../p/bc26a8dcdfce 原理介绍 底层环境要求 因插件使用VSTO开发技术,对32位/64位OFFICE完全兼容(市场上非VSTO开发的插件,很多就死在不能兼容64位OFFICE使用,日后会大量插件使用...安装失败情况一:解决方法-删除此文件.png 自定义函数不能使用 ?...Excel催化剂插件下载链接:https://pan.baidu.com/s/1eT2znYM 因插件使用VSTO开发技术完成,插件的安装需要电脑满足相关的环境配置才能运行,且需可连接外网的方式实现自动更新机制

    2.1K30

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

    因此使用Excel的群体中,自然地区分出了初级用户、中级用户、高级用户。 Excel催化剂致力于打造Excel用户易用、易学,但同时实现功能却又是震撼的愿景。...多多使用它吧。 特别是在Excel催化剂所提供的非系统自带的自定义函数时,你会喜欢上它的。...数组公式新解 在Excel催化剂此次更新的自定义函数中,将有一个很震撼的部分是,数组公式已经不再是什么高深难以掌握的知识技术,它的使用方法和体验和普通公式已经接近一样了,同样只需理解我输入什么,函数黑箱出处后返回什么...,包括在很早之前安装过,当使用的是自动更新的版本(电脑可访问外网),自定义函数已经安装成功在你电脑中,如需确认,可在公式选项卡的插入函数按钮,下拉三角型查看所有的函数类别,其中新增的自定义函数在最下方可查看到...,我只是把他们开发好的函数(在C#/VB.NET里使用)搬到Excel上而已,我也是用它们的黑箱,不是我自己造的,有现成的谁不去用还自己傻傻地写代码!!

    1.4K20

    使用Prometheus Operator监控集群

    在集群监控中Prometheus Operator所扮演的角色 能够使用原生Kubernetes配置选项无缝安装Prometheus Operator 能够在Kubernetes命名空间中创建和摧毁一个...创建一个账号和组并给予查看指标的访问权限 以管理员权限登录到Gerrit的web界面,访问:Projects>List>All-Projects。点击【Access】标签,再点击【edit】按钮。...选择我们此前创建的组“Prometheus Metrics“,点击【Add】按钮。 滑至页面底部并点击【Save Changes】按钮。 ? ?...创建secret以访问Gerrit服务 在Gerrit中生成token之后,你可以使用用户id和token来生成Base64编码格式的用户id和token,用于将凭证存储在Kubernetes中。...为Gerrit创建Service Monitor 在servicemonitoring添加端点的详细信息以发现Gerrit服务指标以及具有匹配标签的的selector,如下所示: 带标签的service

    1.8K10

    使用Cloudera Manager查看集群,服务,角色和主机的图表

    温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。...image.png 4.在“图表生成器”中,使用“select”语句创建的图表,有一个可编辑的文本字段,用作该图表的标题。将图表保存到仪表盘时,你可以输入一个你想要的标题。...1.使用自定义仪表盘时,通过点击图表右上角的图标 ? ,有权限的用户可以看到”删除“按钮,可以删除该图表。 ? ?...使用默认仪表盘时,”Remove(删除)“按钮不会显示在菜单中,因为默认仪表盘不允许删除原始图表。 ? ? 使用右上角的编辑图标 ? 可以在默认和自定义仪表盘之间进行切换。 ?...温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

    3.1K90

    在 jQuery Mobile 中使用 UI 组件

    jQuery Mobile 框架包括一组标准移动图标,您可以通过 data-icon 属性使用它们,您也可以使用自己创建或购买的任何自定义图标。... 默认情况下,块将页眉文本显示为一个带 + 图标的按钮。...利用 jQuery Mobile,您可以创建多种不同的列表格式,如基本链接列表、嵌套列表、编号列表、拆分按钮列表、带分隔符的列表、带图标的列表、缩略图或计数泡泡,以及包括搜索筛选器栏的列表。...创建一个拆分按钮列表很简单:在使用 listview data-role 的一个列表项中添加两个彼此相邻的定位点标记(清单 7)。 清单 7....滑块包括一个图柄和一个供图柄在上面滑动的槽 。随着图柄的移动,滑块的值被存储起来,然后,在表单被提交时,该值也被提交。

    8.1K20
    领券