尝试通过向应用程序发送击键来自动生成报告。 我可以将应用程序向前移动,但它会忽略所有SendKeys命令。 问题是什么?我接下来应该尝试什么? 这是我的代码:
Const App_Title = "AccountRight Plus" ' Window title
Dim Wsh, win_title
' Create the WshShell object, which Run and AppActivate require.
Set Wsh = WScript.CreateObject("WScript.Shell")
Wsh.AppActivate App_Title
WScript.Sleep 800
Wsh.SendKeys "^i"
WScript.Sleep 800
Wsh.SendKeys "{TAB}"
WScript.Sleep 800
Wsh.SendKeys "{TAB}"
答案 0 :(得分:0)
可能你对大写锁定键和笔画“^ i”感到困惑。无论如何只是假设。如果情况并非如此,那么至少不要评判我。
所以我制作了一个代码,我可以在这里测试,解释一下我的意思。
Set Wsh = WScript.CreateObject("WScript.Shell")
Wsh.Run "notepad"
Wsh.AppActivate "Untitled - Notepad"
WScript.Sleep 100
Wsh.SendKeys "111..."
WScript.Sleep 100
Wsh.SendKeys "^a" ' (ctrl+a) Select All command
如果大概锁定了大写锁定键,则上面的代码将选择所有文本,但如果大写锁定打开,则行程“^ a”(或甚至“^(a)”)将失败。相反,如果你使用“^ A”将失败并且大写锁定。
没有办法在VBScript中获得大写锁定(或其他键)的状态,但是我找到2个解决方法,如果你愿意,可以称它们作弊:)
有点奇怪的方法是复制你的SendKeys命令。
Wsh.SendKeys“^ a”:Wsh.SendKeys“^ a”
预先将笔划发送到大写锁定。
Wsh.SendKeys“{CAPSLOCK}”:Wsh.SendKeys“^ a”