VBA Excel Sendkeys ARROW在cmd.exe中不起作用

我有一些麻烦,当我将使用另一个键比"{ENTER}"

"{UP}""{DOWN}""{LEFT}""{RIGHT}"cmd.exe不起作用,为什么?

 Private Sub press_key(key As String) SendKeys key, True Application.Wait (Now + TimeValue("0:00:01")) End Sub Sub Test() Call Shell("C:\ ... \name.EXE", vbNormalFocus) Application.Wait (Now + TimeValue("0:00:01")) press_key ("{ENTER}") press_key ("{ENTER}") press_key ("{DOWN}") press_key ("{DOWN}") press_key ("{DOWN}") press_key ("{RIGHT}") press_key ("{DOWN}") press_key ("{DOWN}") press_key ("{DOWN}") press_key ("{ENTER}") End Sub 

Excel启动控制台

您正尝试在每个SendKey之间Wait一秒钟。 而不是wait ,请关注SendKeys之间的应用程序:

 Private Sub press_key(key As String) SendKeys key, True DoEvents End Sub 

这将改善VBA和应用程序之间的接口。