达永编程网

程序员技术分享与交流平台

一招搞定!利用VBA限制Excel“另存为”和“复制粘贴剪切”功能

引言

限制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
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言