【发布时间】:2020-02-11 10:05:49
【问题描述】:
我编写了一个使用以下 SAP GUI 的自动化脚本:
objSess.findById("wnd[0]").Maximize
objSess.findById("wnd[0]/tbar[0]/okcd").Text = "flqaf"
objSess.findById("wnd[0]").sendVKey 0
objSess.findById("wnd[0]").sendVKey 17
objSess.findById("wnd[1]/usr/cntlALV_CONTAINER_1/shellcont/shell").CurrentCellColumn = "TEXT"
objSess.findById("wnd[1]/usr/cntlALV_CONTAINER_1/shellcont/shell").SelectedRows = "0"
objSess.findById("wnd[1]/usr/cntlALV_CONTAINER_1/shellcont/shell").DoubleClickCurrentCell
objSess.findById("wnd[0]/usr/ctxtS_BELNR-LOW").Text = W_BPNumber
objSess.findById("wnd[0]/usr/ctxtS_BELNR-LOW").SetFocus
objSess.findById("wnd[0]/usr/ctxtS_BELNR-LOW").caretPosition = 10
objSess.findById("wnd[0]").sendVKey 8
objSess.findById("wnd[0]").sendVKey 0
objSess.findById("wnd[0]/tbar[0]/btn[3]").press
一切正常,但有时问题会在 SAP 中中止,而正是在发生这种情况时,我想通过将术语“错误”写入 excel 单元格来捕获它。
我尝试在 vba 中添加这一行
objSheet.Cells(iRow, 5) = GuiStatusbar.Text
还有
objSheet.Cells(iRow, 5) = objSessFindById("wnd[0]/sbar").Text
代码仍然运行良好,但我在第 5 列中的单元格仍然为空。任何想法如何解决这个问题?
【问题讨论】:
-
你能分享一张“在 SAP 中中止”的截图吗?你的代码在我的系统上失败了,你能发一个complete, minimal and reproducible code吗?我不明白你的问题是来自 Excel 还是来自 SAP GUI 脚本,你能找出问题的根源吗?