原文出处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 "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