首頁 辦公利器Excel文書處理Excel VBA 【Excel VBA】禁止剪貼功能,防止工作表被破壞

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

by PartyLin

文章最後更新於 2020 年 8 月 25 日 下午 11:06

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

應用:防止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,務求為您提供最佳的網上瀏覽體驗。 同意 閱讀更多

%d 位部落客按了讚: