引言
限制Excel“另存为”功能和禁用“复制粘贴剪切”快捷键,都可以对Excel工作簿起到一定的保护作用。
某些Excel文件可能包含复杂的VBA代码、数据验证等内容,如果允许“另存为”其他格式(如.xlsx格式),可能导致部分功能无法使用。同时,限制“另存为”功能也可以在一定程度上防止创建多个副本,确保所有修改都在原文件上进行。
而禁用“复制粘贴剪切”快捷键,也可避免因误触快捷键而意外覆盖或删除关键数据,从而保护Excel数据的完整性。
今天分享如何利用VBA代码实现这两个功能。
操作指南
1.按下ALT+F11组合键,打开VBA编辑器;
2.双击左侧的ThisWorkbook,在弹出的代码窗口,输入相关的VBA代码。
(1)如果要限制Excel“另存为”功能,输入以下代码:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If SaveAsUI Then
MsgBox "禁止另存为副本!", vbCritical, "操作受限"
Cancel = True ' 阻止另存为
End If
End Sub
(2)如果要禁用“复制粘贴剪切”快捷键,输入以下代码:
'禁用复制、黏贴、剪切快捷键
Private Sub Workbook_Activate()
Application.OnKey "^c", ""
Application.OnKey "^v", ""
Application.OnKey "^x", ""
Application.CellDragAndDrop = False
End Sub
Private Sub Workbook_Deactivate()
Application.OnKey "^c"
Application.OnKey "^v"
Application.OnKey "^x"
Application.CellDragAndDrop = True
End Sub