我试图让我的脚本遍历if语句并关闭程序,如果它们是打开的。但是,根据我现在的情况,我只能通过单击脚本两次来关闭if语句中的程序。我怀疑我可能需要一个不同的循环,但我不知道哪一个。这就是我现在拥有的。
Set oShell = CreateObject("WScript.Shell")
Do
if oShell.AppActivate("Untitled - Notepad") then
WScript.Sleep 500
oShell.SendKeys "%{F4}"
end if
if oShell.AppActivate("Cisco Packet tracer") then
WScript.Sleep 500
oShell.SendKeys "%{F4}"
end if
exit do
loop
答案 0 :(得分:0)
如果每个应用程序都有多个实例,则应该迭代直到不再存在应用程序
Option Explicit
Dim shell
Set shell = CreateObject("WScript.Shell")
Dim aApps
aApps = Array("Untitled - Notepad", "Cisco Packet tracer")
Dim keepTrying, app
keepTrying = True
Do While keepTrying
keepTrying = False
For Each app in aApps
If shell.AppActivate(app) Then
WScript.Sleep 500
shell.SendKeys "%{F4}"
keepTrying = True
End If
Next
Loop