Public Sub get_status_bar_value_exit_if_Error()
Dim usr_resp As String
If (session.findById("wnd[0]/sbar").messagetype = "E" Or session.findById("wnd[0]/sbar").messagetype = "W") Then
usr_resp = MsgBox(session.findById("wnd[0]/sbar").Text & Chr(13) & "Show the Error in SAP ?", vbYesNo)
If usr_resp = vbYes Then
Else
Call go_to_Sap_home
End If
End
End If
End Sub
If (session.findById("wnd[0]/sbar").messagetype = "E" Or session.findById("wnd[0]/sbar").messagetype = "W") Then
usr_resp = MsgBox(session.findById("wnd[0]/sbar").Text & Chr(13) & "Show the Error in SAP ?", vbYesNo)
If usr_resp = vbYes Then
Else
Call go_to_Sap_home
End If
this helped
3条答案
按热度按时间du7egjpx1#
是的,你可以这么做。
在botton查找状态栏
SAP中的GUI脚本帮助部分非常有帮助,它会非常详细地解释你的事情。
我们可以根据您的需要使用这些属性,如果您需要移动下一步,停止或通知用户您可以使用这些消息类型和相应的工作.
SAP脚本不会在SAP本身发生错误时抛出错误,它只会在找不到元素或其他问题时抛出错误。
样本代码:
在这里,我选择退出当前的任务,并回到家,如果用户选择不看到错误的SAP,否则SAP将停止,用户可以看到错误的状态栏。你可以做任何你想做的事
mccptt672#
不幸的是在错误时恢复Next将由于它不能找到对象的事实而没有帮助,
bkhjykvo3#
答案基本上是在错误恢复下一个,但你可以在这里阅读更多... https://scn.sap.com/thread/3270803 . On Error Resume Next会忽略所有错误。你可以通过If来设置条件。