当前遇到错误问题:通过VBA在SAP中迁移订单时,可能需要重新确认订单。然而,这并非总是如此。
我已经在代码的开始部分建立了一个错误循环,所以我不再遇到对象错误。但是,我希望VBA在2个结果之间进行选择。
我已经建立了代码(如果有错误,它将导致转到下一个顺序):
'Press "full delivery (build a if function that if field delivery exists and is >1, press f6)
If Session.findById("wnd[0]/usr/tbl/SAPAPO/SAPLATP4CTR_FINAL/txt/SAPAPO/ATP4CSD-BMNGL[6,0]").Text <> ""
Then Session.findById("wnd[0]/tbar[1]/btn[6]").press
End If
然后,如果它不在该屏幕中,则应检查它是否仍在原始屏幕中:
if Session.findById("wnd[0]/usr/tabsTAXI_TABSTRIP_OVERVIEW/tabpT\01/ssubSUBSCREEN_BODY:SAPMV45A:4400/subSUBSCREEN_TC:SAPMV45A:4900/tblSAPMV45ATCTRL_U_ERF_AUFTRAG/ctxtVBAP-WERKS[11,0]").Text <>"" then
'Save order
Session.findById("wnd[0]/tbar[0]/btn[11]").press
End if
不幸的是,如果不转到“交货”屏幕(仅停留在常规订单屏幕上),则会导致错误。然后,我希望它执行的是代码。 有什么方法可以确定我当前在哪个屏幕上,以便VBA对此进行操作。
答案 0 :(得分:1)
您可以尝试以下操作。
例如:
If Session.findById("wnd[0]").text = "Delivery screen" then
...
end if
您必须使用真实的屏幕名称,而不是“交货屏幕”。
关于, 脚本人