我本来想有自动提取几个,除了当我运行的宏,我有弹出窗口,惹恼了我可怕的,我可以让他们消失按回车。
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窗口消失,因此它不是有效的解决方案
1条答案
按热度按时间inkz8wg91#
第一个弹出窗口是SAP告诉您,一个脚本正在尝试访问SAP。您可以在SAP设置中禁用该信息。
进入选项->可访问性和脚本->脚本
然后删除“当脚本附加到SAP GUI时通知”和“当脚本打开连接时通知”的复选标记
第二个弹出窗口可以用这行关闭:
这将按下弹出窗口中的Ok按钮。
如果你想知道窗口是否弹出,你可以这样做:
将这段代码放在导致弹出窗口的代码行之后。