Как проверить, существует ли поле? 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
Он также имеет то преимущество, что ему не нужно использовать обработку ошибок для работы,
поэтому может возникнуть ошибка другого типа, и она все равно будет обработана.