2

如何检查该字段是否存在?我尝试过这个:

If session.findById("wnd[1]").setFocus Then
4

3 回答 3

4

您可以尝试以下方法:

on error resume next
session.findById("wnd[1]").setfocus
if err.number = 0 then
   msgbox "The SAP GUI element exists."
else
   msgbox "The SAP GUI element does not exist."
end if
on error goto 0

问候, ScriptMan

于 2014-05-22T09:08:58.800 回答
1

如果问题是如何查看是否有第二个窗口:wnd[1]

这应该有效:

Sub test()

    If session.Children.Count = 2 then
        'your code goes here

    End If
End Sub

它还具有不需要使用错误处理来工作的优点,
因此可能会发生另一种类型的错误并且仍然可以处理。

于 2019-07-02T13:55:39.193 回答
1

为避免使用错误处理,您可以使用:

If Not session.findById("wnd[1]", False) Is Nothing Then
    session.findById("wnd[1]").setFocus
End If

这里的关键是 FindById 中的第二个参数,它确定是否存在 SAP 中的字段或任何对象是否引发错误。如果设置为 False,则不会引发错误,并且对象设置为 Nothing,您可以在我的代码中进行检查。

于 2021-01-13T10:38:53.197 回答