我在下面编写一个vb脚本来关闭标题为“错误”的IE弹出消息。
Set wshShell = CreateObject("WScript.Shell")
wshShell.AppActivate("Error")
wshShell.SendKeys "{Enter}"
MsgBox "Closed"
上面的代码能够通过向其发送Enter键来成功关闭弹出窗口。但是,从不执行下一行MsgBox“ Closed”。为什么会这样呢?我需要做些什么才能使其正常工作?
[当我尝试发送Tab键而不是Enter键时,MsgBox会按预期显示。我怀疑Enter键成功关闭“错误”窗口并因此阻止了最后一行的执行时发生了某些事情。
在sendkey和msg框之间插入延迟或任何代码行之后,我能够使msg框出来。但是,我指出,等待至少20秒之后,我无法关闭msg框。我注意到只有在尝试关闭IE错误窗口时才会发生这种情况。当我尝试使用其他本地Windows时,可以关闭MsgBox。为什么会这样?
这是因为ENTER键立即关闭两个窗口。您应该在两个任务之间添加几秒钟的睡眠。
Set wshShell = CreateObject("WScript.Shell") wshShell.AppActivate("Error")
Wscript.Sleep 4000
wshShell.SendKeys "{ENTER}"
Wscript.Sleep 2000
MsgBox "Closed"