Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Какие клавиши нажаты (не для слежки) - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Какие клавиши нажаты (не для слежки) (Макросы/Sub)
Какие клавиши нажаты (не для слежки)
SergeyKorotun Дата: Пятница, 25.07.2014, 11:47 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 15 ±
Замечаний: 0% ±

Excel 2007
Хотел тоже задать такой вопрос, но опередили, и тему закрыли.
Я назначил первым четырем макросам горячие клавиши Ctrl+A, Ctrl+D, Ctrl+W, Ctrl+S соответственно, и с них вызываю основную процедуру, передавая ей в качестве параметра условный код нажатой клавиши.
А как перехватить нажатие стрелок управления курсором?
[vba]
Код
Sub left()
    Call hod("left")
End Sub

Sub right()
    Call hod("right")
End Sub

Sub up()
    Call hod("up")
End Sub

Sub down()
    Call hod("down")
End Sub

Sub hod(route)
    MsgBox route
End Sub
[/vba]
 
Ответить
СообщениеХотел тоже задать такой вопрос, но опередили, и тему закрыли.
Я назначил первым четырем макросам горячие клавиши Ctrl+A, Ctrl+D, Ctrl+W, Ctrl+S соответственно, и с них вызываю основную процедуру, передавая ей в качестве параметра условный код нажатой клавиши.
А как перехватить нажатие стрелок управления курсором?
[vba]
Код
Sub left()
    Call hod("left")
End Sub

Sub right()
    Call hod("right")
End Sub

Sub up()
    Call hod("up")
End Sub

Sub down()
    Call hod("down")
End Sub

Sub hod(route)
    MsgBox route
End Sub
[/vba]

Автор - SergeyKorotun
Дата добавления - 25.07.2014 в 11:47
Hugo Дата: Пятница, 25.07.2014, 12:12 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3255
Репутация: 707 ±
Замечаний: 0% ±

2019
Не туда пошли. Думаю нужно как то так:
[vba]
Код
Sub tt()
     Application.OnKey "{DOWN}", "msgdwn"
     Application.OnKey "{UP}", "msgup"
End Sub

Sub msgdwn()
     MsgBox "down"
End Sub

Sub msgup()
     MsgBox "up"
End Sub
[/vba]


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеНе туда пошли. Думаю нужно как то так:
[vba]
Код
Sub tt()
     Application.OnKey "{DOWN}", "msgdwn"
     Application.OnKey "{UP}", "msgup"
End Sub

Sub msgdwn()
     MsgBox "down"
End Sub

Sub msgup()
     MsgBox "up"
End Sub
[/vba]

Автор - Hugo
Дата добавления - 25.07.2014 в 12:12
SergeyKorotun Дата: Пятница, 25.07.2014, 12:43 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 15 ±
Замечаний: 0% ±

Excel 2007
А куда ее надо вставить (или как ее обозвать), чтобы при загрузке екселя она автоматически запустилась.
И ее как остановить? [vba]
Код
Application.OnKey "{DOWN}",""
[/vba] Так?
 
Ответить
СообщениеА куда ее надо вставить (или как ее обозвать), чтобы при загрузке екселя она автоматически запустилась.
И ее как остановить? [vba]
Код
Application.OnKey "{DOWN}",""
[/vba] Так?

Автор - SergeyKorotun
Дата добавления - 25.07.2014 в 12:43
nilem Дата: Пятница, 25.07.2014, 15:22 | Сообщение № 4
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
нажатие кнопки "стрелка вниз" просто игнорируется:
[vba]
Код
Application.OnKey "{DOWN}",""
[/vba]
а чтобы отменить OnKey (вернуть обычную функциональность):
[vba]
Код
Application.OnKey "{DOWN}"
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениенажатие кнопки "стрелка вниз" просто игнорируется:
[vba]
Код
Application.OnKey "{DOWN}",""
[/vba]
а чтобы отменить OnKey (вернуть обычную функциональность):
[vba]
Код
Application.OnKey "{DOWN}"
[/vba]

Автор - nilem
Дата добавления - 25.07.2014 в 15:22
SergeyKorotun Дата: Пятница, 25.07.2014, 15:38 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 15 ±
Замечаний: 0% ±

Excel 2007
А как запустить Sub tt() автоматически в момент открытия книги?
 
Ответить
СообщениеА как запустить Sub tt() автоматически в момент открытия книги?

Автор - SergeyKorotun
Дата добавления - 25.07.2014 в 15:38
nilem Дата: Пятница, 25.07.2014, 15:45 | Сообщение № 6
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
в модуль "ЭтаКнига"
[vba]
Код
Private Sub Workbook_Open()
Application.OnKey "{DOWN}", "msgdwn"
Application.OnKey "{UP}", "msgup"
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnKey "{DOWN}"
Application.OnKey "{UP}"
End Sub
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениев модуль "ЭтаКнига"
[vba]
Код
Private Sub Workbook_Open()
Application.OnKey "{DOWN}", "msgdwn"
Application.OnKey "{UP}", "msgup"
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnKey "{DOWN}"
Application.OnKey "{UP}"
End Sub
[/vba]

Автор - nilem
Дата добавления - 25.07.2014 в 15:45
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Какие клавиши нажаты (не для слежки) (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!