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

仿Excel的撤销功能

标签:VBA,工作表事件 这是在www.vbaexpress.com中看到的一个示例,实现了自己以前想做而未做的事情。...也就是,模仿Excel的撤销功能,特别是当VBA代码对工作表进行操作后,使用Excel原始的撤销功能是无法恢复的,但可以使用VBA代码来实现,似乎就像Excel的撤销功能一样。...主要思路是使用一个工作表,来记录对工作表所做的修改,如果要撤销这些修改,就从这个工作表取出原来的值来恢复。注意,本文的示例只针对特定区域,且只能撤销两次。..."D" & x).Value ' 将之前的值写回ws1 wsU.Range("A" & x & ":D" & x).ClearContents ' 清空UNDO工作表中的行, 这允许有更多的撤销...或者,在完美Excel微信公众号中发送消息: 仿撤销功能 获取示例工作簿下载链接。 或者,直接到知识星球APP完美Excel社群中下载该工作簿。

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

    探究 canvas 绘图中撤销(undo)功能的实现方式

    项目需求中有一个给图片添加水印的功能。我们知道,在浏览器端实现图片添加水印功能,通常的做法就是使用 canvas 的 drawImage 方法。...但是略麻烦的是添加水印的需求中还有一个需要实现的功能是用户能够切换水印的位置。...我们自然会想到能否实现 canvas 的 undo 功能,当用户切换水印位置时,先撤销上一步 drawImage 操作,然后再重新绘制水印图片位置。 restore/save ?...在执行 undo 操作时,从栈中取出最新保存的快照,然后重新绘制画布,即可实现撤销操作。实际测试也符合预期。 性能优化 上一节中我们很粗犷地实现了 canvas 的撤销功能。为什么说粗犷呢?...之前说过,我们通过对整个画布保存快照的方式来记录每个操作,换个角度思考,如果我们把每次绘制的动作保存到一个数组中,在每次执行撤销操作时,首先清空画布,然后重绘这个绘图动作数组,也可以实现撤销操作的功能。

    2.1K50

    JS实现分页功能

    ​分页在网页上是一个很常见的功能,今天我们来实现一个新闻列表,包含了分页的功能,效果如下: 那么如何来实现这个功能呢?...asAll = pagination.querySelectorAll('a'); //页面刚进来时第一页高亮 asAll[p-1].classList.add('active'); 5,选择页数,实现点击某页就到哪页的功能...p=index+1; //点击页数,改变p的值,以改变这个页面要显示的数据,达到分页的效果 render(); //重新渲染页面 } }); 6,按enter键实现跳转到某页的功能...classList.add('active'); if( p>asAll.length){ return; }//重新渲染页面render(); } }; 7,实现上一页下一页的功能...asAll.length){ return; } p=p+1; changePageClass(); render(); }   到此为止,一个传统的分页功能就实现了

    16.1K20

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

    只要保证插件功能不破坏用户原有数据,就算错了,重来一次即可。不破坏原数据,其实最好的方案是用自定义函数实现,如果需要用按钮功能,只需要将生成的新数据写入到新工作表或新区域即可。...https://t.zsxq.com/0bLAZMgc0 上面的VSTO实现撤销功能,本质上是VSTO开放接口给外部VBA语言来调用,但如果使用ExcelDNA框架开发,并不需要这么麻烦,项目中还要带一个...xlam文件来实现撤销。...ExcelDNA除了开发自定义函数最有效,想开发撤销功能,直接在项目里写代码即可,OnAction的属性,可以直接调用ExcelDNA里的代码。...例如笔者在Excel催化剂插件中实现的一些鼠标右键功能,也是一个套路,这部分的功能,其实是在【自定义函数.xll】文件里开发完成的。

    78120

    JS 实现复制粘贴功能

    JS 实现复制粘贴功能 目前没有做过多的测试,只是测试了几个手机,介绍: 支持情况 (1)移动端: chrome(版本 58.0.3029.96 (64-bit))、 猎豹(V6.0.114.14559...10.3.1)、 华为 (版本:6.0.1) 、 锤子 YQ601(版本:5.1.1)、 红米 Redmi Note 2(版本:5.0.2) android 4.2三星(WebView、QQ浏览器可以实现...==下面为我简单封装功能:==!!! 看情况来定是否采用,体积小,我认为我的功能够用就可以了!...下面是关键JS,压缩完2K,如果不需要做amd/cmd 去掉没用的JS只有1K,是不是完美 我的index.js (function(f) { if(typeof exports === "object...文字已复制到剪贴板中") : alert("请长按选中复制") }); ---- 注: 对了,如果想实现低版本浏览器的复制

    4.8K30
    领券