Завершить все макросы при нажатии клавиш - PullRequest
1 голос
/ 23 апреля 2019

Я пытаюсь добавить строку в мой код, которая завершит его, например, когда нажата клавиша ESC .

Мне удалось заставить остальных работать,и некоторые сайты там говорят, что следующее / подобное будет работать, хотя я считаю, что верно и обратное.

Sub CellMover()

    Application.OnKey "{ESC}", End

    Application.OnKey "{UP}", "MoveUp"

    Application.OnKey "{DOWN}", "MoveDown"

    Application.OnKey "{LEFT}", "MoveLeft"

    Application.OnKey "{RIGHT}", "MoveRight"

End Sub

Я надеюсь, что когда я нажму ESC , следующийраз (а) я нажимаю любую из клавиш со стрелками, после чего она также не запускает связанные макросы.

1 Ответ

0 голосов
/ 23 апреля 2019

Использование оператора Stop, похоже, действительно помогает (по сути, создает точку останова)

Public Sub halt()
   Stop 'prevents all further execution
End Sub

Итак, ваш код будет выглядеть так:

Sub CellMover()
    Application.OnKey "{ESC}", "halt"
    Application.OnKey "{UP}", "MoveUp"
    Application.OnKey "{DOWN}", "MoveDown"
    Application.OnKey "{LEFT}", "MoveLeft"
    Application.OnKey "{RIGHT}", "MoveRight"
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...