使用Application.OnKey禁用CTRL-V

时间:2019-05-08 07:58:49

标签: excel vba

我正在尝试在我已打开的一本工作簿中禁用 CTRL + V ,但是在所有打开的工作簿中均已禁用它。

有没有办法做到这一点,因为我尝试在要禁用 CTRL + V 的工作表和ThisWorkbook中都使用它,相同的结果是,在所有打开的工作簿和这些工作簿的所有工作表中都禁用了 CTRL + V

我在工作表级别具有的代码:

Sub DisableCtrlPasteCombinations()
' Disable CTRL-V
Application.OnKey "^{v}", ""
' Disable CTRL-ALT-V
Application.OnKey "^%{v}", ""
End Sub

我在ThisWorkbook级别尝试过的代码:

Private Sub Workbook_Open()
' Disable CTRL-V
Application.OnKey "^{v}", ""
' Disable CTRL-ALT-V
Application.OnKey "^%{v}", ""
End Sub

1 个答案:

答案 0 :(得分:3)

我唯一想到的就是首先对ActiveWorkbook.Name进行检查:

Sub DisableCtrlPasteCombinations()
    ' Disable CTRL-V
    Application.OnKey "^{v}", "PasteController"
End Sub

Sub PasteController()
    IF ActiveWorkbook.Name <> "WorkbookName" THEN
        Selection.Paste
    END IF
    ' Otherwise do nothing
End Sub