【问题标题】:VBA Keydown ProblemsVBA 按键问题
【发布时间】: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

结束子

【问题讨论】:

    标签: excel vba putty keydown


    【解决方案1】:

    应用可能没有足够的时间来响应 SendKey。我建议放一个:

    DoEvents

    紧跟在任何似乎被忽略的 SendKeys 语句之后的语句。

    【讨论】:

      猜你喜欢
      • 2011-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多