[英]How to continue running a VBA macro when an SAP popup message tells us that there is no data found?
當sap腳本通過SAP搜索數據但未找到任何內容時,它會向我們發送一條彈出消息,提示“它尚未找到任何數據”,該宏如何繼續運行,因為稍后還有其他事務。
Sub FOS()
...
On Error GoTo ConsoleAbs
Set Sapgui = GetObject("SAPGUI")
On Error GoTo 0
'transaction1
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "S_ALR_87011964"
session.findById("wnd[0]/tbar[0]/btn[0]").press
session.findById("wnd[0]/usr/ctxtBUKRS-LOW").Text = "0092"
...
'transaction2
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "S_ALR_87012039"
session.findById("wnd[0]/tbar[0]/btn[0]").press
...
End Sub
我一直在嘗試
On Error GoTo ConsoleAbs
Set Sapgui = GetObject("SAPGUI")
On Error GoTo 0
但我不確定這是正確的解決方案。
您可以嘗試以下方法。
例如:
Sub FOS()
Set SapGuiAuto = GetObject("SAPGUI")
Set SAP_Application = SapGuiAuto.GetScriptingEngine
Set Connection = SAP_Application.Children(0)
Set session = Connection.Children(0)
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "/nS_ALR_87011964"
session.findById("wnd[0]").sendVKey 0
...
session.findById("wnd[0]/tbar[1]/btn[8]").press
If session.ActiveWindow.Name = "wnd[1]" Then
If session.findById("wnd[1]").Text = "Information" Then session.findById("wnd[1]/tbar[0]/btn[0]").press
else
'do something
end if
session.findById("wnd[0]/tbar[0]/okcd").Text = "S_ALR_87012039"
session.findById("wnd[0]/tbar[0]/btn[0]").press
...
session.findById("wnd[0]/tbar[1]/btn[8]").press
If session.ActiveWindow.Name = "wnd[1]" Then
If session.findById("wnd[1]").Text = "Information" Then session.findById("wnd[1]/tbar[0]/btn[0]").press
else
'do something
end if
End Sub
問候,ScriptMan
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.