EXCEL VBA:限制Excel使用所有的粘贴方法

2013-10-07 16:48 阅读 472 次 评论关闭

在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

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:EXCEL VBA:限制Excel使用所有的粘贴方法 | 猎微网

评论已关闭!