【问题标题】:Return type in findById method, control could not be found by idfindById 方法中的返回类型,无法通过 id 找到控件
【发布时间】:2014-04-13 12:57:01
【问题描述】:

我正在编写一个从 SAP 过程 (ME23N) 读取一些值的 VBA 脚本。

我正在使用 findById 方法读取一些值,但我不知道该对象是否存在。

Session.findById("wnd[0]/usr/sub/.......).Text

如果提供的 id 不存在,我想知道 findById 方法返回什么。知道我可以处理这种情况并避免“无法通过 id 找到控件”运行时消息。

是否有公开的 SAP 文档,我可以在其中找到一些信息?

提前致谢

【问题讨论】:

  • 您是否必须为 SAP 库/DLL 添加引用?如果是这样,请尝试使用 F2 查看方法等。
  • 不,我没有。我在哪里可以找到它们?有没有办法检查给定 id 的元素是否存在?
  • 打开 VBA 代码窗口 (Alt+F11),然后按 F2 查看对象浏览器。输入您要搜索的值,然后单击“搜索”图标。也许你会找到一些东西......你也可以通过图书馆搜索......但如果你没有为 SAP 添加一个图书馆......也许没有运气。

标签: ms-access vba sap


【解决方案1】:

这是你要问的吗?这是我用的.....

'左下角显示错误或消息说你无权访问交易

出现错误继续下一步 session.findById("wnd[0]/.....SetFocus 'or .Text

If session.findById("wnd[0]/sbar").Text = "id 找不到控件。"然后 Debug.Print "未找到事务。"

session.findById("wnd[0]").Close ' 关闭 SAP Window\Program。 session.findById("wnd[1]/usr/btnSPOP-OPTION1").press ' 按是 \ok 按钮关闭 SAP 退出子 结束如果

【讨论】:

  • 这个答案的格式很差,代码甚至不是正确的语法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多