限制Excel使用所有的粘贴方法
02-21
在Excel中限制使用粘贴功能,可以有效防止用户将外部的数据复制粘贴到本工作薄。
以下是实现在Excel中使用粘贴功能的方法。
一、实现原理
使用VBA代码来实现,实现的理论指导是:
禁用编辑菜单中的粘贴功能
禁用编辑菜单中的选择性粘贴功能
限制使用右键菜单中的粘贴功能
限制使用键盘上的快捷键Ctrl+V键
二、实现方法
①禁用粘贴功能的代码
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.CommandBars("Worksheet Menu Bar").Controls("编辑(E)").Controls("粘贴(P)").Enabled = False
Application.CommandBars("cell").Controls(3).Enabled = False
Application.CommandBars("Worksheet Menu Bar").Controls("编辑(E)").Controls("选择性粘贴(S)...").Enabled = False
Application.OnKey "^v", ""
End Sub
②解除粘贴功能的限制
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars("Worksheet Menu Bar").Controls("编辑(E)").Controls("粘贴(P)").Enabled = True
Application.CommandBars("cell").Controls(3).Enabled = True
Application.CommandBars("Worksheet Menu Bar").Controls("编辑(E)").Controls("选择性粘贴(S)...").Enabled = True
Application.OnKey "^v"
End Sub