SendKeys 是 Visual Basic 中的一個編程語句,可將一個或多個按鍵訊息傳送到活動視窗,如同用鍵盤進行輸入一樣。傳送某些特殊字元時須用一對大括弧(“{}”)圍起來,某些特殊按鍵要使用專用代碼,也可設定為各類組合鍵。
基本介紹
- 中文名:sendkeys
- 隸屬:Visual Basic
- 屬性:編程語句
- 語法:SendKeys string[, wait]
語法,參數意義,用法,示例,
語法
SendKeys string[, wait]
參數意義
string部分必需的,字元串表達式,指定要傳送的按鍵訊息。
Wait可選的,指定等待方式的值。如果為 False(預設值),則控制項在按鍵傳送出去之後立刻返回到過程;如果為 True,則按鍵訊息必須在控制項返回到過程之前加以處理。說明每個按鍵由一個或多個字元表示。
用法
1)為了指定單一鍵盤字元,必須按字元本身的鍵。例如,為了表示字母 A,可以用 "A" 作為 string。為了表示多個字元,就必須在字元後面直接加上另一個字元。例如,要表示 A、B 及 C,可用 "ABC" 作為 string。
2)對 SendKeys 來說,加號+ 、插入符^ 、百分號% 、上劃線~ 及圓括弧( ) 都具有特殊意義。為了指定上述任何一個字元,要將它放在大括弧{}當中。例如,要指定正號,可用 {+} 表示。為了指定大括弧字元,請使用 {{} 及 {}}。方括弧 [ ] 對 SendKeys 來說並不具有特殊意義,但必須將它們放在大括弧中。在其它應用程式中,方括弧有特殊意義,在出現動態數據交換 (DDE) 的時候,它可能具有重要意義。
3)為了在按下按鍵時指定那些不顯示的字元,例如 ENTER 或 TAB 以及那些表示動作而非字元的按鍵,請使用下列代碼:
按鍵 | 代碼 |
---|---|
BACKSPACE | {BACKSPACE}, {BS}或{BKSP} |
BREAK | {BREAK} |
CAPS LOCK | {CAPSLOCK} |
DEL or DELETE | {DELETE} 或 {DEL} |
ENTER | {ENTER}或 ~ |
ESC | {ESC} |
NUM LOCK | {NUMLOCK} |
SCROLL LOCK | {SCROLLLOCK} |
UP ARROW | {UP} |
DOWN ARROW | {DOWN} |
LEFT ARROW | {LEFT} |
RIGHT ARROW | {RIGHT} |
END | {END} |
HOME | {HOME} |
INS or INSERT | {INSERT} 或 {INS} |
PAGE DOWN | {PGDN} |
PAGE UP | {PGUP} |
PRINT SCREEN | {PRTSC} |
WIN | ^{ESC} |
TAB | {TAB} |
HELP | {HELP} |
F1 | {F1} |
F2 | {F2} |
F3 | {F3} |
F4 | {F4} |
F5 | {F5} |
F6 | {F6} |
F7 | {F7} |
F8 | {F8} |
F9 | {F9} |
F10 | {F10} |
F11 | {F11} |
F12 | {F12} |
注意:如果要輸出空格可以這樣編寫程式:“sendkeys(" ")"
4)為了指定那些與 SHIFT、CTRL 及 ALT 等按鍵結合的組合鍵,可在這些按鍵碼的前面放置一個或多個代碼,這些代碼列舉如下:
按鍵 | 代碼 |
---|---|
SHIFT | + |
CTRL | ^ |
ALT | % |
5)為了說明在按下其它按鍵時應同時按下 SHIFT、CTRL、及 ALT 的任意組合鍵,請把那些按鍵的碼放在括弧當中。例如,為了說明按下 E 與 C 的時候同時按下 SHIFT 鍵,請使用 "+(EC)"。為了說明在按下 E 的時候同時按下 SHIFT 鍵,但接著按 C 而不按 SHIFT,則使用 "+EC"。
6)為了指定重複鍵,使用 {key number} 的形式。必須在 key 與 number 之間放置一個空格。例如,{LEFT 42} 意指 42 次按下 LEFT ARROW 鍵;{h 10} 則是指 10 次按下 H 鍵。
注意:
- SendKeys 不能將按鍵訊息傳送到這樣一個應用程式——這個應用程式並沒有被設計成在 Microsoft Windows 中運行。
- Sendkeys 也無法將PRINT SCREEN 按鍵傳送到任何應用程式。
示例
set WshShell = WScript.CreateObject("WScript.Shell") '調用
WScript.Sleep 100 '延時0.1秒
WshShell.SendKeys "ABCD" '順序傳送ABCD四個鍵
初學者實例:
Private Sub Command1_Click() ‘command1的單擊(click)事件過程
SendKeys("{ENTER}") '傳送回車鍵
End Sub ’事件結束