Вот нашёл такой макрос вроде он должен проверять при появлении формы состояние включён или нет 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).
ПОМОГИТЕ !!!! Я не понимаю что я деляю не так ???? Где нужно что прописывать ???? Или же этот код вообще здесь не прокатит ???
Слэн написал: написал как понял сам, так? ps ничего не проверяет, просто включает намлук
Прикрепленные файлы 111.xlsm (16.6 КБ)
Изменено: Слэн - 29 Июн 2015 11:26:02
Живи и дай жить..
не подходит - включать я и сам знаю как NumLock, и если Numlock был включен до срабатывания макроса, то после его выполнения Numlock наоборот выключается, т.е. команда работает не только как включение, но и как выключение в случае повторного выполнения, А мне нужно именно включать Numlock если он при этом не включен, а как это проверить незнаю !!!!! Может есть какая команда работающая только на включение 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. Только возвращаемые значения чуть-чу..." и т.д.
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/