限制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