【问题标题】:VBA SAP occasional error Control ID Not FoundVBA SAP 偶发错误 Control ID Not Found
【发布时间】:2017-10-06 18:30:13
【问题描述】:

在下面的代码中,我从 SAP 中提取数据。在我运行的一些 SAP 报告中,偶尔数据不可用,其中会出现一个弹出框,显示

不存在所选选择的数据

我已经实现了以下错误处理策略,在调试和单步执行代码时效果很好,但在整体运行时,我在星号表示的行上收到此错误:

无法通过 ID 找到控件

session.findById("wnd[0]/tbar[1]/btn[8]").press

On Error GoTo ResumeInterCompany
**If session.findById("wnd[1]/tbar[0]").Text = "No data exists for chosen selection" Then**
GoTo TroubleShootInterCompany

End If

任何建议。如果需要,我可以提供更多相关代码。

【问题讨论】:

  • 索引 0 处没有工具栏?索引 1 处哪里没有窗口? FWIW 有 100% 比使用 GoTo jumps 更好的方法来做任何你想做的事情。
  • 在尝试单击它之前,您应该检查以确保您的 findById 方法返回一个对象。

标签: vba error-handling sap-gui


【解决方案1】:

我的解决方法如下:

session.findById("wnd[0]/tbar[1]/btn[8]").press

On Error Resume next
myText = "x"
err.clear 
myText = session.findById("wnd[1]/tbar[0]").Text
if err.number <> 0 then myText = ""
on error goto 0
If myText = "No data exists for chosen selection" Then
   GoTo TroubleShootInterCompany
End If

问候, 脚本人

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-06-15
    • 2014-10-20
    • 2013-02-20
    • 2019-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多