宝哥软件园

如何禁用Excel中的剪切、复制、粘贴功能?

编辑:宝哥软件园 来源:互联网 时间:2021-09-20

问:在Excel中,如何禁止使用剪切、复制、粘贴功能,防止他人破坏我的数据?

答:在Excel 2003中,经常使用以下代码来禁用剪切、复制和粘贴功能。

作为命令栏

DimcbrCtl As CommandBarControl

SubDisableCutCopyPaste()

禁用快捷菜单中的命令。

控制21,假'切。

控制19,假的。

控制22,假粘贴。

用control 755做,false '粘贴特殊。

快捷键命令

带应用程序。在“^c”上。在“^x”上。在“^v”上。CellDragAndDrop=False。OnDoubleClick="test "

以…结尾

EndSub

子控件(整数形式,布尔值形式)

将cmbBar调暗为CommandBar

将cmbCtl调暗为CommandBarControl

出错时继续下一步

对于应用中的每个cmbBar。命令栏

设置cmbCtl=cmbBar。FindControl(ID:=iId,Recursive:=True)

如果不是cmbCtl什么都不是,那么cmbCtl。Enabled=blnState

下一个cmbBar

EndSub

子测试()

MsgBox“命令不可用!”

EndSub

但是,在Excel 2007及更高版本中,上述代码只能禁用快捷菜单和快捷方式的剪切、复制和粘贴等功能。功能区仍然可以使用剪切、复制和粘贴,快速访问工具栏中的也可以使用。如下图1所示。

图1

从图1可以看出,单元格快捷菜单中的剪切、复制、粘贴等功能命令都是灰显的,这意味着它们无法使用,但是功能区和快速访问工具栏中的命令仍然可用。

此时需要通过XML代码自定义功能区,实现禁用功能区的命令。关闭工作簿,使用自定义用户界面编辑器打开它,并输入如下图2所示的XML代码:

图2。

验证保存后,关闭自定义UI编辑器,重新打开工作簿,可以看到功能区和快速访问工具栏中的剪切、复制、粘贴等功能也是灰显的,如图3所示。

图3。

注意:在VBE或其他应用程序中复制后,复制的数据将保存在剪贴板中,剪贴板可以粘贴到工作簿中。我认为您可以使用DataObject对象来删除剪贴板的内容。

更多资讯
游戏推荐
更多+