如何使用带 .VBS 或 .BAT 的进程标识符激活打开的应用程序 window
How to Activate an open application window using the Process Identifier with .VBS or .BAT
我的代码很简单,我只想这样做:
Set iShell = WScript.CreateObject("WScript.Shell")
xRepeat:
' ** Activate a specify Internet Explorer 11 Window already open (by PID)
iShell.SendKeys "{TAB}"
iShell.SendKeys "{CTRL + C}"
iShell.SendKeys "{TAB} {TAB} {TAB} {TAB}"
iShell.SendKeys "{CTRL+ V}"
iShell.SendKeys "{TAB} {TAB} {TAB} {TAB}"
iShell.SendKeys "{CTRL + V}"
' ** Activate a program already open (by PID)
iShell.SendKeys "{TAB} {TAB} {TAB} {TAB}"
iShell.SendKeys "{CTRL + C}"
' ** Activate a specify Internet Explorer 11 Window already open (by PID)
iShell.SendKeys "{TAB} {TAB} {TAB} {TAB}"
iShell.SendKeys "{CTRL + V}"
If msgbox("Repeat process?", vbYesNo) = vbYes Then
GoTo xRepeat
End if
我打开了一些程序,我不想继续使用 "SendKeys {ALT + TAB}"
我在一台访问极其受阻的计算机上工作,基本上我的工作是整天用相同的答案填写表格,所以我希望自动填写。
怎么我用的电脑什么都进不去,求个不用安装的解决方案
我只能使用记事本(.VBS 或.BAT)。啊,我也可以使用 VBA,所以上面的 'automation' 也可以在 .bat .vbs 或 excell.vba 中。我知道很多VBA,但只做成Excel
Ps: 我只能通过notepad.bat "tasklist; @pause"
获取PID
谢谢!
我找到了一个(大)解决方案。我的下一个目标是不要使用 {TAB},我想学习如何获取特定的表单并输入值。喜欢:Document.GetElementByName("username").Value = "ALEXAN"
但我的问题是如何将已打开的 Internet Explorer 设置为对象,然后使用 .Document.GetElementByName
Dim ws
Set ws = CreateObject("WScript.Shell")
If MsgBox("Finalizado?", vbYesNo + vbQuestion, "") = vbYes Then
ws.AppActivate "Tratar Protocolos - Internet Explorer"
ws.SendKeys "{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}"
ws.SendKeys "^{c}"
WScript.Sleep 200
ws.SendKeys "{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}"
WScript.Sleep 200
ws.SendKeys "~"
WScript.Sleep 200
ws.SendKeys "FINALIZADO"
WScript.Sleep 200
ws.SendKeys "~"
WScript.Sleep 200
ws.SendKeys "{TAB}"
ws.SendKeys "~"
WScript.Sleep 200
ws.SendKeys "SOLICITAÇAO ATENDIDA"
WScript.Sleep 200
ws.SendKeys "~"
WScript.Sleep 200
ws.SendKeys "{TAB}"
ws.SendKeys "^{v}"
WScript.Sleep 200
ws.SendKeys "Finalizado"
WScript.Sleep 200
ws.SendKeys "~"
WScript.Sleep 200
ws.SendKeys "{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}"
WScript.Sleep 200
ws.SendKeys "^{c}"
WScript.Sleep 200
ws.SendKeys "{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}"
WScript.Sleep 200
ws.SendKeys "^{v}"
WScript.Sleep 200
ws.AppActivate "Siebel eCommunications Produção - Meio de Acesso - \Remote"
MsgBox "Copie o CNPJ depoiso dê OK!"
WScript.Sleep 200
ws.AppActivate "Tratar Protocolos - Internet Explorer"
WScript.Sleep 300
ws.SendKeys "+{TAB}"
ws.SendKeys "{TAB}{TAB}"
WScript.Sleep 300
ws.SendKeys "^{v}"
WScript.Sleep 200
ws.SendKeys "{TAB}{TAB}{TAB}{TAB}{TAB}"
WScript.Sleep 300
ws.SendKeys "Protocolo perfilado com sucesso!"
WScript.Sleep 300
ws.SendKeys "^{a}"
ElseIf MsgBox("Pendente?", vbYesNo + vbQuestion, "") = vbYes Then
ws.AppActivate "Tratar Protocolos - Internet Explorer"
ws.SendKeys "{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}"
ws.SendKeys "^{c}"
WScript.Sleep 200
ws.SendKeys "{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}"
WScript.Sleep 200
ws.SendKeys "~"
WScript.Sleep 200
ws.SendKeys "PENDENTE"
WScript.Sleep 200
ws.SendKeys "~"
WScript.Sleep 200
ws.SendKeys "{TAB}"
ws.SendKeys "~"
WScript.Sleep 200
ws.SendKeys "STATUS SUSPENSO"
WScript.Sleep 200
ws.SendKeys "~"
WScript.Sleep 200
ws.SendKeys "{TAB}"
ws.SendKeys "0"
ws.SendKeys "{TAB}"
WScript.Sleep 200
ws.SendKeys "^{v}"
ws.SendKeys "{TAB}{TAB}{TAB}{TAB}"
ws.SendKeys "^{v}"
WScript.Sleep 200
ws.SendKeys "{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}"
WScript.Sleep 200
ws.SendKeys "^{c}"
WScript.Sleep 200
ws.SendKeys "{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}"
WScript.Sleep 200
ws.SendKeys "^{v}"
WScript.Sleep 200
ws.AppActivate "Siebel eCommunications Produção - Meio de Acesso - \Remote"
MsgBox "Copie o CNPJ depoiso dê OK!"
WScript.Sleep 200
ws.AppActivate "Tratar Protocolos - Internet Explorer"
WScript.Sleep 200
ws.SendKeys "+{TAB}"
ws.SendKeys "{TAB}{TAB}"
WScript.Sleep 200
ws.SendKeys "^{v}"
WScript.Sleep 200
ws.SendKeys "{TAB}{TAB}{TAB}{TAB}{TAB}"
WScript.Sleep 200
ws.SendKeys "Protocolo perfilado com sucesso!"
WScript.Sleep 200
ws.SendKeys "^{a}"
End If
WScript.Quit
我的代码很简单,我只想这样做:
Set iShell = WScript.CreateObject("WScript.Shell")
xRepeat:
' ** Activate a specify Internet Explorer 11 Window already open (by PID)
iShell.SendKeys "{TAB}"
iShell.SendKeys "{CTRL + C}"
iShell.SendKeys "{TAB} {TAB} {TAB} {TAB}"
iShell.SendKeys "{CTRL+ V}"
iShell.SendKeys "{TAB} {TAB} {TAB} {TAB}"
iShell.SendKeys "{CTRL + V}"
' ** Activate a program already open (by PID)
iShell.SendKeys "{TAB} {TAB} {TAB} {TAB}"
iShell.SendKeys "{CTRL + C}"
' ** Activate a specify Internet Explorer 11 Window already open (by PID)
iShell.SendKeys "{TAB} {TAB} {TAB} {TAB}"
iShell.SendKeys "{CTRL + V}"
If msgbox("Repeat process?", vbYesNo) = vbYes Then
GoTo xRepeat
End if
我打开了一些程序,我不想继续使用 "SendKeys {ALT + TAB}"
我在一台访问极其受阻的计算机上工作,基本上我的工作是整天用相同的答案填写表格,所以我希望自动填写。
怎么我用的电脑什么都进不去,求个不用安装的解决方案
我只能使用记事本(.VBS 或.BAT)。啊,我也可以使用 VBA,所以上面的 'automation' 也可以在 .bat .vbs 或 excell.vba 中。我知道很多VBA,但只做成Excel
Ps: 我只能通过notepad.bat "tasklist; @pause"
获取PID谢谢!
我找到了一个(大)解决方案。我的下一个目标是不要使用 {TAB},我想学习如何获取特定的表单并输入值。喜欢:Document.GetElementByName("username").Value = "ALEXAN"
但我的问题是如何将已打开的 Internet Explorer 设置为对象,然后使用 .Document.GetElementByName
Dim ws Set ws = CreateObject("WScript.Shell") If MsgBox("Finalizado?", vbYesNo + vbQuestion, "") = vbYes Then ws.AppActivate "Tratar Protocolos - Internet Explorer" ws.SendKeys "{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}" ws.SendKeys "^{c}" WScript.Sleep 200 ws.SendKeys "{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}" WScript.Sleep 200 ws.SendKeys "~" WScript.Sleep 200 ws.SendKeys "FINALIZADO" WScript.Sleep 200 ws.SendKeys "~" WScript.Sleep 200 ws.SendKeys "{TAB}" ws.SendKeys "~" WScript.Sleep 200 ws.SendKeys "SOLICITAÇAO ATENDIDA" WScript.Sleep 200 ws.SendKeys "~" WScript.Sleep 200 ws.SendKeys "{TAB}" ws.SendKeys "^{v}" WScript.Sleep 200 ws.SendKeys "Finalizado" WScript.Sleep 200 ws.SendKeys "~" WScript.Sleep 200 ws.SendKeys "{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}" WScript.Sleep 200 ws.SendKeys "^{c}" WScript.Sleep 200 ws.SendKeys "{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}" WScript.Sleep 200 ws.SendKeys "^{v}" WScript.Sleep 200 ws.AppActivate "Siebel eCommunications Produção - Meio de Acesso - \Remote" MsgBox "Copie o CNPJ depoiso dê OK!" WScript.Sleep 200 ws.AppActivate "Tratar Protocolos - Internet Explorer" WScript.Sleep 300 ws.SendKeys "+{TAB}" ws.SendKeys "{TAB}{TAB}" WScript.Sleep 300 ws.SendKeys "^{v}" WScript.Sleep 200 ws.SendKeys "{TAB}{TAB}{TAB}{TAB}{TAB}" WScript.Sleep 300 ws.SendKeys "Protocolo perfilado com sucesso!" WScript.Sleep 300 ws.SendKeys "^{a}" ElseIf MsgBox("Pendente?", vbYesNo + vbQuestion, "") = vbYes Then ws.AppActivate "Tratar Protocolos - Internet Explorer" ws.SendKeys "{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}" ws.SendKeys "^{c}" WScript.Sleep 200 ws.SendKeys "{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}" WScript.Sleep 200 ws.SendKeys "~" WScript.Sleep 200 ws.SendKeys "PENDENTE" WScript.Sleep 200 ws.SendKeys "~" WScript.Sleep 200 ws.SendKeys "{TAB}" ws.SendKeys "~" WScript.Sleep 200 ws.SendKeys "STATUS SUSPENSO" WScript.Sleep 200 ws.SendKeys "~" WScript.Sleep 200 ws.SendKeys "{TAB}" ws.SendKeys "0" ws.SendKeys "{TAB}" WScript.Sleep 200 ws.SendKeys "^{v}" ws.SendKeys "{TAB}{TAB}{TAB}{TAB}" ws.SendKeys "^{v}" WScript.Sleep 200 ws.SendKeys "{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}" WScript.Sleep 200 ws.SendKeys "^{c}" WScript.Sleep 200 ws.SendKeys "{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}" WScript.Sleep 200 ws.SendKeys "^{v}" WScript.Sleep 200 ws.AppActivate "Siebel eCommunications Produção - Meio de Acesso - \Remote" MsgBox "Copie o CNPJ depoiso dê OK!" WScript.Sleep 200 ws.AppActivate "Tratar Protocolos - Internet Explorer" WScript.Sleep 200 ws.SendKeys "+{TAB}" ws.SendKeys "{TAB}{TAB}" WScript.Sleep 200 ws.SendKeys "^{v}" WScript.Sleep 200 ws.SendKeys "{TAB}{TAB}{TAB}{TAB}{TAB}" WScript.Sleep 200 ws.SendKeys "Protocolo perfilado com sucesso!" WScript.Sleep 200 ws.SendKeys "^{a}" End If WScript.Quit