Excel VBA工作薄 5.17关键数据给你看,对,只能看不能摸

前景提要

昨天我们分享了如果限制工作薄的打开次数,主要原理是通过记录工作薄打开的次数来进行相关的操作,比方说达到一定次数之后就不再允许对方打开工作薄或者自动删除数据之类的,看大家比较想要知道达到次数之后删除工作薄的操作,后面我会再写一篇文章来分享下删除工作薄的代码操作,今天我们继续分享工作薄保护方面的知识,这次我们要实现的目的就是禁止对方复制粘贴我们的数据。

场景模拟

依然还是假设其他的同时需要我们的数据,并且希望我们分享自己的数据(别介,我实在没有太好的场景了),这次我们的数据是可以给对方看的,但是也仅仅是看看而已,我们不希望对方在拿到我们的数据之后,又去复制粘贴拷贝一份数据,交给上级邀功去了,好吧,我承认我邪恶了,那么我们就需要设置自己的工作薄禁止复制粘贴,给你看,你就老老实实的看看就好~~,不废话,上代码

代码区

Dim cmdBar As CommandBarDim cbrCtl As CommandBarControlSub DisableCutCopyPaste() DoWithControl 21, True DoWithControl 19, True DoWithControl 22, True DoWithControl 755, True With Application .OnKey "^c", "" .OnKey "^x", "" .OnKey "^v", "" .CellDragAndDrop = False .OnDoubleClick = "test" End WithEnd SubSub DoWithControl(iId As Integer, blnState As Boolean) Dim cmbBar As CommandBar Dim cmbCtl As CommandBarControl On Error Resume Next For Each cmbBar In Application.CommandBars Set cmbCtl = cmbBar.FindControl(ID:=iId, Recursive:=True) If Not cmbCtl Is Nothing Then cmbCtl.Enabled = blnState End If Next cmbBarEnd Sub

好了,代码写完了,我们来看看效果

在代码执行之前,工作薄是可以正常使用复制粘贴命令的

在执行代码之后,我们看看复制粘贴按钮,已经变成了灰色不可用的状态,就算是键盘按下ctrl+c也没有办法执行复制的命令的

非常成功的实现了我们的要求。

当然使用场景也不是绝对的,我们可以选择搭配之前的限制工作波的使用次数和有效期来一起使用,比方说打开多少次之后就只能看,不能复制粘贴之类的,方法虽然不是很强大,但是几个方法搭配起来,效果还是很不错的,就和炒菜一样,哈哈

(0)

相关推荐