Использование Application.OnKey для отключения CTRL-V - PullRequest
0 голосов
/ 08 мая 2019

Я пытаюсь отключить 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 Ответ

3 голосов
/ 08 мая 2019

Единственное, о чем я могу думать, это сначала выполнить проверку 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...