Страницы: 1
RSS
Макрос проверки состояния включён или нет NumLock, макрос не работает
 
Вот нашёл такой макрос вроде он должен проверять при появлении формы состояние включён или нет NumLock и если он выключен, то включает его.
адрес  http://www.cyberforum.ru/post7348199.html

я прикладываю пример, который я создал файл 111.xlsm, проверяйте в нём, нажимаете на синюю кнопку и появляется форма после чего должна идти проверка состояния NumLock  и т.д.
описываю последовательно свои действия, а создал форму и в её коде прописал, то что указано на скриншоте 1,
и  как видно сразу начал ругаться на надпись "Option Compare Database" (выделяя её красным), если я её удалю, что по-моему уже неправильно, то вроде всё нормально в коде, но когда я вызываю форму по кнопке, то он опять ругается только на "Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer"  (см. скриншот 2).

ПОМОГИТЕ  !!!! Я не понимаю что я деляю не так ????  Где нужно что прописывать ????  Или же этот код вообще здесь не прокатит ???
 
скриншот 1
 
макс 1, читать (переводить) сообщения не пробовали?
Также поставьте курсор в слово Option и нажмите F1. Аналогично с другими непонятными словами.
 
Ознакомьтесь с правилами.
Общий размер прикрепленных файлов не должен превышать 100 кб. Разделение в разные сообщения не принимается.
 
написал как понял сам, так?
ps ничего не проверяет, просто включает намлук
Изменено: Слэн - 29.06.2015 11:26:02
Живи и дай жить..
 
Цитата
Слэн написал:
написал как понял сам, так?
ps ничего не проверяет, просто включает намлук

Прикрепленные файлы
111.xlsm (16.6 КБ)

Изменено: Слэн - 29 Июн 2015 11:26:02


Живи и дай жить..
не подходит - включать я и сам знаю как NumLock, и если Numlock был включен до срабатывания макроса, то после его выполнения Numlock наоборот выключается, т.е. команда работает не только как включение, но и как выключение в случае повторного выполнения, А мне нужно именно включать Numlock если он при этом не включен, а как это проверить незнаю !!!!! Может есть какая команда работающая только на включение Numlock и повторно не выключающая его ?????
 
макс 1, кнопка цитирования не для ответа. Исправьте сообщение.
 
тогда так
Живи и дай жить..
 
как сделать проверку включен или нет NumLock ????????
 
Цитата
макс 1 написал:
т.е. команда работает не только как включение, но и как выключение в случае повторного выполнения, А мне нужно именно включать Numlock если он при этом не включен
ничего подобного.
Вот этот код - выключает: keybd_event 144, &H45, &H1, 0
А этот код - включает: keybd_event 144, &H45, 0, 0
И без разницы, был включен или был выключен Numlock.
Именно поэтому и возникает вопрос, зачем Вам проверять, включен или нет Ваш Numlock ?

В любом случае - вот ссылка, где описано, как определить вкл. или откл. Numlock
оттуда ▼

"...Ну нам также желательно получить информацию о нужной нам кнопочке, нажата она или отжата. Для этого нам пригодится функция GetKeyState:

Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Как мы видим, здесь один-единственный аргумент nVirtKey, который представляет из себя код нужной нам виртуальной клавиши. Но возвращает она четыре разных состояния клавиш, о чем мы уже говорили при анализе функции GetKeyboardState. Только возвращаемые значения чуть-чу..." и т.д.
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
Страницы: 1
Читают тему
Loading...