excel VBA中如何模擬鍵盤輸入

SendKeys 語句

將一個或多個按鍵消息發送到活動窗口,就如同在鍵盤上進行輸入一樣。

語法

SendKeysstring[, wait]

SendKeys 語句的語法具有以下幾個:

部分描述
string必需的。,指定要發送的按鍵消息。
Wait可選的。指定等待方式的 [email protected] 值。如果爲 False(缺省值),則控件在按鍵發送出去之後立刻返回到。如果爲 True,則按鍵消息必須在控件返回到過程之前加以處理。

說明

每個按鍵由一個或多個字符表示。爲了指定單一鍵盤字符,必須按字符本身的鍵。例如,爲了表示字母 A,可以用 "A" 作爲 string。爲了表示多個字符,就必須在字符後面直接加上另一個字符。例如,要表示 A、B 及 C,可用 "ABC" 作爲 string

SendKeys 來說,加號 (+)、插入符 (^)、百分比符號 (%)、上劃線 (~) 及圓括號 ( ) 都具有特殊意義。爲了指定上述任何一個字符,要將它放在大括號 ({}) 當中。例如,要指定正號,可用 {+} 表示。方括號 ([ ]) 對 SendKeys 來說並不具有特殊意義,但必須將它們放在大括號中。在其它應用程序中,方括號有特殊意義,在出現 的時候,它可能具有重要意義。爲了指定大括號字符,請使用 {{}及 {}}。

爲了在按下按鍵時指定那些不顯示的字符,例如 ENTER 或 TAB 以及那些表示動作而非字符的按鍵,請使用下列代碼:

按鍵代碼
BACKSPACE{BACKSPACE}, {BS}, 或 {BKSP}
BREAK{BREAK}
CAPS LOCK{CAPSLOCK}
DEL or DELETE{DELETE} 或 {DEL}
DOWN ARROW{DOWN}
END{END}
ENTER{ENTER}或 ~
ESC{ESC}
HELP{HELP}
HOME{HOME}
INS or INSERT{INSERT} 或 {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}

爲了指定那些與 SHIFT、CTRL 及 ALT 等按鍵結合的組合鍵,可在這些按鍵碼的前面放置一個或多個代碼,這些代碼列舉如下:

按鍵代碼
SHIFT+
CTRL^
ALT%

爲了說明在按下其它按鍵時應同時按下 SHIFT、CTRL、及 ALT 的任意組合鍵,請把那些按鍵的碼放在括號當中。例如,爲了說明按下 E 與 C 的時候同時按下 SHIFT 鍵,請使用 "+(EC)"。爲了說明在按下 E 的時候同時按下 SHIFT 鍵,但接着按 C 而不按 SHIFT,則使用 "+EC"。

爲了指定重複鍵,使用 {key number} 的形式。必須在 key 與 number 之間放置一個空格。例如,{LEFT 42} 意指 42 次按下 LEFT ARROW 鍵;{h 10} 則是指 10 次按下 H 鍵。

注意 不能用 SendKeys 將按鍵消息發送到這樣一個應用程序,這個應用程序並沒有被設計成在 Microsoft Windows or Macintosh中運行。Sendkeys 也無法將 PRINT SCREEN 按鍵 {PRTSC} 發送到任何應用程序。

Application.SendKeys "^p" ---------------模擬CTRL+P調出打印窗口


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章