PoprzedniaWyżejGłównaSpis treściIndex hasełZnajdźBokGora
BokGora

Google
 

Rozkaz SendKeys

Instrukcja SendKeys przesyła jeden lub więcej uderzeń w klawisze do aktywnego okna, tak jakby zostały wpisane z klawiatury.

Składnia rozkazu SendKeys:

SendKeys Łańcuch [, Czas]

Agrument Łańcuch jest wymaganym wyrażeniem łańcuchowym określającym znaki do przesłania.
Argument Czas jest opcjonalnym wyrażeniem typu Boolean. Określa on tryb oczekiwania. Jeżeli ma wartość False (domyślna), kontrola powraca do procedury zaraz po przesłaniu znaków. Jeżeli ma wartość True, wysłane znaki muszą zostać obsłużone, zanim sterowanie powróci do procedury.

Każdy klawisz jest reprezentowany przez jeden lub więcej znaków. Aby określić pojedynczy znak, należy użyć samego znaku. Np. aby określić znak A należy użyć "A" w Łańcuch. Aby określić więcej niż jeden znak, należy dodać je wszystkie do Łańcucha. Aby określić litery A, B i C należy użyć "ABC" w Łańcuchu.

Znaki plus (+), caret (^), procent (%), tylda (~) i nawiasy okrągłe (), mają specjalne znaczenie dla SendKeys. Aby określić jeden z tych znaków należy zamknąć go w nawiasach klamrowych ({}). Np. aby określić znak plus (+) należy użyć {+}. Nawiasy kwadratowe nie mają specjalnego znaczenia dla SendKeys, lecz również muszą być zamknięte w nawiasach klamrowych. W innych aplikacjach nawiasy klamrowe mają specjalne znaczenie, które może być znaczące podczas dynamicznej wymiany danych (DDE). Aby określić znaki nawiasów klamrowych należy użyć {{} lub {}}.

Aby określić znaki, które nie są wyświetlane podczas wciskania klawiszy, takich jak ENTER lub TAB, ponieważ klawisze te raczej reprezentują akcję zamiast znaku, należy używać kodów:
Klawisz Kod
BACKSPACE {BACKSPACE}, {BS} lub {BKSP}
BREAK {BREAK}
CAPS LOCK {CAPSLOCK}
DEL lub DELETE {DELETE} lub {DEL}
DOWN ARROW {DOWN}
END {END}
ENTER {ENTER} lub ~
ESC {ESC}
HELP {HELP}
HOME {HOME}
INS lub INSERT {INSERT} lub {INS}
LEFT ARROW {LEFT}
NUM LOCK {NUMLOCK}
PAGE DOWN {PGDN}
PAGE UP {PGUP}
PRINT SCREEN {PRTSC}
RIGHT ARROW {RIGHT}
SCROLL LOCK {SCROLLLOCK}
TAB {TAB}
UP ARROW {UP}
F1 {F1}
F2 {F2}
F3 {F3}
F4 {F4}
F5 {F5}
F6 {F6}
F7 {F7}
F8 {F8}
F9 {F9}
F10 {F10}
F11 {F11}
F12 {F12}
F13 {F13}
F14 {F14}
F15 {F15}
F16 {F16}

Aby określić kombinację z klawiszami SHIFT, CTRL lub ALT, należy poprzedzić kod klawisza odpowiednim kodem:
Klawisz Kod
SHIFT +
CTRL ^
ALT %

Aby określić kombinację z SHIFT, CTRL i ALT, które powinny być przytrzymane podczas wciskania sekwencji innych klawiszy, należy zamknąć sekwencję kodów klawiszy w nawiasy okrągłe. Np. aby określić przytrzymanie SHIFT i wciskanie E a potem C, należy użyć "+(EC)". Aby określić, że SHIFT ma być przytrzymany podczas wciskania E, a klawisz C ma zostać wciśnięty bez SHIFT, należy użyć "+EC". Aby określić powtarzanie klawisza należy użyć formy {Kod Liczba}. Należy wprowadzić spację pomiędzy Kod i Liczbę, która określa ilość powtórzeń. Np. {LEFT 42} oznacza wciśnięcie klawisza LEFT 42 razy.

Nie można wykorzystywać SendKeys aby przesyłać uderzenia w klawisze do aplikacji, które nie są zaprojektowane do pracy w Microsoft Windows. SendKeys również nie potrafi przesłać PRINT SCREEN do dowolnej aplikacji.

Przykład użycia rozkazu SendKeys:

Dim varTaskID As Variant
varTaskID=Shell("CALC.EXE",1)  'uruchom Kalkulator
AppActivate varTaskID  'aktywuj Kalkulator
SendKeys "10{+}5", True  'prześlij do Kalkulatora
SendKeys "=", True  'wyświetl wynik
SendKeys "%{F4}",True  'wyślij ALT+F4 aby zamknąć kalkulator


(Zmienne, typy zmiennych, funkcja Shell() i rozkaz AppActivate zostały opisane w innych częściach kursu.)





na górę strony...


Google
 
Poprzednia | Wyżej | Strona główna | Spis Treści | Index haseł | Opis VB

BokDol
PoprzedniaWyżejGłównaSpis treściIndex hasełZnajdźBokGora
BokGora