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

by zhi hao

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

應用:防止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 

相關文章

發表回應

本網站放置cookies,務求為您提供最佳的網上瀏覽體驗。 接受 閱讀更多