InternetExplorer SendKeys在VBA中执行

时间:2014-03-18 15:13:15

标签: vba sendkeys

我必须在IE页面上按某些键。有时它工作正常,有时没有。

当我使用F8逐步运行代码时,它们总是在VBA窗口中被按下。 当我使用F5运行该工具时,有时会在IE中按下它,我需要它们,有时在VBA中。我该怎么做才能防止这种情况发生?

以下是代码的一部分:

Set Elements = IEDoc.getElementsByClassName("REQ")(0)
Elements.Value = 10001
Set objWSS = CreateObject("WScript.Shell")
Elements.Focus
objWSS.SendKeys "^{TAB}"
objWSS.SendKeys ("{DOWN}")
objWSS.SendKeys ("{TAB}{RIGHT}")

1 个答案:

答案 0 :(得分:1)

尝试添加DoEvents以允许完全处理Windows消息:

Set Elements = IEDoc.getElementsByClassName("REQ")(0)
Elements.Value = 10001
Set objWSS = CreateObject("WScript.Shell")
Elements.Focus
objWSS.SendKeys "^{TAB}"
DoEvents
objWSS.SendKeys ("{DOWN}")
DoEvents
objWSS.SendKeys ("{TAB}{RIGHT}")
DoEvents
相关问题