【Excel VBA】禁止剪貼功能,防止工作表被破壞

功能:關閉剪貼與剪切功能

應用:防止excel新手不小心將設計的表格,使用剪下貼上功能破壞設計的公式與資料

Private Sub Workbook_Activate() '本工作薄激活時,相應地禁用「剪切」

'禁用菜單欄"剪切",裡面的序號代表位置,2和3是2003里的,XP中應該不同,自己修改

Application.CommandBars(1).Controls(2).Controls(3).Enabled = False

'禁用右鍵中的"剪切",序號1代表第一個選擇,2代表複製(這是我的,自己修改你自己的)

Application.CommandBars("cell").Controls(1).Enabled = False

'禁用鍵盤"Ctrl+x",恢複方法:Application.OnKey "^x"

Application.OnKey "^x", ""

'禁用移動(會把拖動也禁用)

Application.CellDragAndDrop = False

End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean) '關閉前 解除

'解除禁用

Application.CommandBars(1).Controls(2).Controls(3).Enabled = True

Application.CommandBars("cell").Controls(1).Enabled = True

Application.OnKey "^x"

Application.CellDragAndDrop = True

End Sub
Private Sub Workbook_Deactivate() '本工作薄失去焦點時,相應地解除禁用

'解除禁用

Application.CommandBars(1).Controls(2).Controls(3).Enabled = True

Application.CommandBars("cell").Controls(1).Enabled = True

Application.OnKey "^x"

Application.CellDragAndDrop = True

End Sub
Private Sub Workbook_Open() '打開時, 禁用「剪切」

'禁用菜單欄"剪切",裡面的序號代表位置,2和3是2003里的,XP中應該不同,自己修改

Application.CommandBars(1).Controls(2).Controls(3).Enabled = False

'禁用右鍵中的"剪切",序號1代表第一個選擇,2代表複製(這是我的,自己修改你自己的)

Application.CommandBars("cell").Controls(1).Enabled = False

'禁用鍵盤"Ctrl+x",恢複方法:Application.OnKey "^x"

Application.OnKey "^x", ""  '禁用移動(會把拖動也禁用)

Application.CellDragAndDrop = False

End Sub

發表評論

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

18 − 二 =

購物車