Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 16:48 08.07.25 
Компютри и Интернет
   >> Електронни таблици
Всички теми Следваща тема *Кратък преглед

Тема натиснат клавишнови  
Автор nepukis (минаващ)
Публикувано24.04.15 11:38



някой би ли ми казал как може да се следи дали е натиснат даден клавиш на клавиатурата(например стрелка нагоре) по време на изпълнение на макрос
например имаме някакъв дълъг цикъл и искам да го спра при натискане на точно определен клавиш (без Esc)

четох в хелпа, ама нищо не ми стана ясно

Редактирано от nepukis на 24.04.15 11:40.



Тема Re: натиснат клавишнови [re: nepukis]  
Автор BatiGogo ()
Публикувано24.04.15 20:25



Не даваш информация каква ти е операционната система и какви ти са електронните таблици.
Понеже повечето от потребителите, под "електронна таблица" разбират ЕКСЕЛ, предполагам , че си с ЕКСЕЛ и някакъв WINDOWS (естественно).


Declare Function GetAsyncKeyState Lib "User32.dll" (ByVal vKey As Long) As Long
Const VK_CONTROL = &H11, VK_LEFT = &H25, VK_UP = &H26, VK_RIGHT = &H27, VK_DOWN = &H28
Const VK_0 = &H30, VK_1 = &H31, VK_2 = &H32, VK_3 = &H33, VK_4 = &H34
Const VK_5 = &H35, VK_6 = &H36, VK_7 = &H37, VK_8 = &H38, VK_9 = &H39
Const VK_A = &H41, VK_B = &H42, VK_C = &H43, VK_D = &H44, VK_E = &H45
Const VK_F = &H46, VK_G = &H47, VK_H = &H48, VK_I = &H49, VK_J = &H4A
Const VK_K = &H4B, VK_L = &H4C, VK_M = &H4D, VK_N = &H4E, VK_O = &H4F
Const VK_P = &H50, VK_Q = &H51, VK_R = &H52, VK_S = &H53, VK_T = &H54
Const VK_U = &H55, VK_V = &H56, VK_W = &H57, VK_X = &H58, VK_Y = &H59, VK_Z = &H5A
Const VK_ENTER = &HD

Sub Test()
Dim I As Long
For I = 1 To 2000000000
'pravi6 ne6to
If GetAsyncKeyState(VK_UP) <> 0 Then
MsgBox "Natisna strelkata!"
Exit Sub
End If
Next
End Sub


при декларирането на клавишите, можеш да оставиш само тоя дето искаш (ако нямаш място на теливизора де). примерът е с продължителен цикъл. При тебе не знам къде какво и как. Така че сам реши , де ще я ръгнеш проверката. А защо не на няколко места да я има?

При мене на WIN XP SP3 + ОФИС ПАКЕТ 2003 на този комп - върви. При тебе - не зная.



Тема Re: натиснат клавиш [re: BatiGogo]  
Автор nepukis (минаващ)
Публикувано27.04.15 09:24



Правилно си предположил за ЕКСЕЛА и WINDOWS. И тръгна, за което благодаря. Но понеже не съм от хората папагали, дето само копират без да знаят защо и как стават нещата ще помоля за малко инфо при дефиниране на функцията.
това (Lib "User32.dll") предполагам, че е някаква библиотека с кодове... или какво?
и например (VK_CONTROL = &H11) какво значи? . по точно това &H11 което присвояваме на клавиша "контрол" от де се взема



Тема Re: натиснат клавишнови [re: nepukis]  
Автор BatiGogo ()
Публикувано27.04.15 12:47



1.user32.dll - библиотека на бозата. За това те питах за операционната система. Инфо да нея


2.За функцията, дето се ползва от тази библиотека, инфо
3.За константите - това е за удобство. Можеш вместо константи, да пишеш числа. &H11 - това е ascci код 11 - шестнадесетично (десетично-17) - демек стрелка наляво. Инфо за таблицата в десетичен вид например:



Тема Re: натиснат клавишнови [re: BatiGogo]  
Автор nepukis (минаващ)
Публикувано27.04.15 13:05



мерси



Тема Re: натиснат клавишнови [re: nepukis]  
Автор BatiGogo ()
Публикувано27.04.15 14:37








Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2025 Dir.bg Всички права запазени.