【发布时间】:2019-06-25 08:01:55
【问题描述】:
我本来希望自动进行多次提取,除了当我运行宏时弹出窗口让我非常恼火,我可以通过按 Enter 使它们消失。
Public Sub RunGUIScript()
Dim W_Ret As Boolean
Dim Société As String
Sheets("Extraction").Select
Société = Range("b9")
Application.SendKeys "{Enter}"
' Connect to SAP
W_Ret = Attach_Session
If Not W_Ret Then
Exit Sub
End If
On Error GoTo myerr
objSess.findById("wnd[0]").maximize
objSess.findById("wnd[0]/tbar[0]/okcd").Text = "S_ALR_87012039"
objSess.findById("wnd[0]/tbar[0]/btn[0]").press
objSess.findById("wnd[0]/usr/radSUMMB").Select
objSess.findById("wnd[0]/usr/chkP_GRID").Selected = True
[...]
Exit Sub
myerr:
MsgBox "Error occured while retrieving data", vbCritical + vbOKOnly
End Sub
“Application.SendKeys "{Enter}" 功能不会使我的 SAP 窗口消失,因此它不是有效的解决方案
【问题讨论】:
-
弹出窗口出现在哪一行之后?您似乎放错了
Application.SendKeys "{Enter}" -
@Nacrid 你好,它发生在以 (objSess...) 开头的脚本执行期间
-
那么,最大化 SAP 窗口后会弹出一个窗口吗?或者在附加会话时?
-
我在登录时有一个窗口,在脚本结束时告诉我我没有任何数据(我想点击进入以继续执行脚本)
-
你能说得更具体点吗?什么窗户? SAP 窗口?