【发布时间】:2013-11-21 23:32:36
【问题描述】:
我正在尝试创建一个 VBA 脚本,该脚本将打开一个 Putty 窗口,输入用户信息(用户名、密码等),按下(向下箭头)到正确的菜单选项,然后打开该菜单选项.
脚本运行良好,但我无法让 keydown 函数与 putty 一起正常工作。脚本是否失去了对窗口的关注?我是否错误地使用了 keydown 功能?有没有更好的方法来编写这个动作?
Sub Putty()
'
Dim puttyID As String
puttyID = Shell("C:\Program Files (x86)\PuTTY\putty.exe", vbNormalFocus)
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 3
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime
SendKeys "information", True
SendKeys "{ENTER}, True"
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 3
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime
SendKeys "user", True
SendKeys "~", True
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 1
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime
SendKeys "password", True
SendKeys "~", True
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 2
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime
SendKeys "ID", True
SendKeys "~", True
SendKeys "~", True
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 2
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime
SendKeys "2", True
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 1
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime
SendKeys "{Down}", True
SendKeys "{Down}", True
SendKeys "~", True
结束子
【问题讨论】: