原文出处http://vbzlk.5d6d.com/thread-119-1-1.html
描述:将一个或多个按键消息发送到活动窗口,就如同在键盘上进行输入一样。
一、语法:
SendKeys string[,wait]
SendKeys语句的语法包含下面部分:
部分 | 描述 |
string | 必需的。字符串表达式,指定要发送的按键消息 |
wait | 可选的。指定等待方式的值。如果为False(缺省值),则控件在按键发送出去之后立刻返回到过程。如果为True,则按键消息必须在控件返回到过程之前加以处理。 |
二、说明:
可以发送单个按键消息,也可以同时发送多个按键消息。例如,为了表示字母A,可以用"A"作为string;要表示A、B及C,可用"ABC"作为string。SendKeys也可以发送汉字,只需将汉字作为string即可。
对SendKeys来说,加号(+)、插入符(^)、百分比符号(%)、上划线(~)、圆括号()、方括号([])及大括号({}),都要将它放在大括号({})当中。例如,要指定正号,可用{+}表示;指定大括号,请使用{{}及{}}。
对于不能显示的字符,例如TAB键,请使用下列代码:
按键 | 代码 | 按键 | 代码 |
BACKSPACE | {BACKSPACE},{BS},或{BKSP} | BREAK | {BREAK} |
CAPSLOCK | {CAPSLOCK} | DELorDELETE | {DELETE}或{DEL} |
DOWNARROW | {DOWN} | END | {END} |
ENTERRETURN | {ENTER}或~ | ESC | {ESC} |
HELP | {HELP} | HOME | {HOME} |
INSorINSERT | {INSERT}或{INS} | LEFTARROW | {LEFT} |
NUMLOCK | {NUMLOCK} | PAGEDOWN | {PGDN} |
PAGEUP | {PGUP} | PRINTSCREEN | {PRTSC} |
RIGHTARROW | {RIGHT} | SCROLLLOCK | {SCROLLLOCK} |
TAB | {TAB} | UP | {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 | % |
为了说明在按下SHIFT、CTRL、及ALT时连续按下其它按键,请把这些按键的码放在括号当中。例如,当发送!@#时,应使用"+ (123)"。如果只在按下1的时候同时按下SHIFT键,而时23而不按SHIFT,则使用"+123"。
为了表示重复键,使用{key number}的形式。注意在key与number之间放置一个空格。例如,{a 10}意指10次按下a键。
三、应用举例:
本例使用SendKeys语句发送按键消息Microsoft Word。首先用你电脑中Microsoft Word的路径,替换下面程序中的路径。然后建立一个标准工程,在窗体上添加一个命令按钮,将下面的程序粘贴过去。在运行程序前,关闭所有的Word文档。
Private Sub Command1_Click()
Dim MyAppID
MyAppID = Shell("C:/Program Files/Microsoft Office/Office/WINWORD.EXE", 1)
'运行Microsoft Word。
AppActivate MyAppID '激活Microsoft Word。
SendKeys "SendKeys string{[},wait{}}", True '发送按键消息给Word
SendKeys "{ENTER}", True '发送回车键给Word
SendKeys "SendKeys语句的语法具有以下几个命名参数:", True
SendKeys "{ENTER}", True
SendKeys "string 必需的。字符串表达式,指定要发送的按键消息。", True
SendKeys "{ENTER}", True
SendKeys "wait 可选的。指定等待方式的值。", True
SendKeys "{Home}+{End}", True '选择整行
SendKeys "^c", True '发送复制键组合给Word
SendKeys "{ENTER}", True
SendKeys "^v", True '发送粘贴键组合给Word
SendKeys "+(123)", True '发送!@#给Word
SendKeys "{ENTER}", True
SendKeys "+123", True '发送!23给Word
SendKeys "{ENTER}", True
SendKeys "{a 10}", True '连续发送10个a给Word
End Sub
在Word文档里显示
SendKeys string[,wait]
SendKeys语句的语法具有以下几个命名参数:
String 必需的。字符串表达式,指定要发送的按键消息。
Wait 可选的。指定等待方式的值。
Wait 可选的。指定等待方式的值。
!@#
!23
aaaaaaaaaa