Как проверить, существует ли поле? SAP SCRIPT

Как проверить, существует ли поле? Я попробовал это:

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

3 ответа

Решение

Вы можете попробовать, например, следующее:

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

Чтобы избежать использования обработки ошибок, вы можете использовать:

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

Ключевым здесь является второй параметр в FindById, который определяет, вызывает ли он ошибку или нет, существует ли поле или какой-либо объект в SAP. Если для него установлено значение False, ошибка не возникает, и для объекта установлено значение Nothing, что вы можете проверить, как в моем коде.

Если вопрос в том, как увидеть, есть ли второе окно: wnd[1]

Это должно работать:

Sub test()

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

    End If
End Sub

Он также имеет то преимущество, что ему не нужно использовать обработку ошибок для работы,
поэтому может возникнуть ошибка другого типа, и она все равно будет обработана.

Другие вопросы по тегам