2017-01-24 15 views
0

Я пытаюсь получить это имя поля в SAP:Получить имя поля в SAP

session.findById("wnd[0]/usr/subBLOCK:SAPLKACB:1015/ctxtCOBL-KOSTL") 

У меня есть следующий код, чтобы проверить каждый объект в данном экране:

Option Explicit 
Sub SAPfields() 

    Dim sapguiauto As Object 
    Dim sapapp As Object 
    Dim sapcon As Object 
    Dim session As Object 
    Dim Area As Object 
    Dim i As Long 
    Dim Children As Object 
    Dim Obj As Object 

    Set sapguiauto = GetObject("SAPGUI") 
    Set sapapp = sapguiauto.GetScriptingEngine 
    Set sapcon = sapapp.Children(0) 
    Set session = sapcon.Children(0) 
    Set Area = session.findById("wnd[0]/usr") 
    Set Children = Area.Children() 

    For i = 0 To Children.Count() - 1 
     Set Obj = Children(CInt(i)) 
     Debug.Print Obj.Name 

    Next i 
    Set Children = Nothing 
    Set Obj = Nothing 

End Sub 

Когда Я печатаю имена объектов, я получаю это:

subBLOCK:SAPLKACB:1015 

Что мне делать, чтобы получить точное поле? Я попытался использовать OBJ("subBLOCK:SAPLKACB:1015").Children(), но это не сработало.

ответ

0

Я бы использовал рекордер сценариев SAP GUI. Затем вы можете увидеть записанный сценарий.

+0

Это не помогает, если я хочу прокрутить все поля. – Vinnie

+0

В любом случае должно быть возможно: Obj.setFocus или Debug.Print Obj.Text – ScriptMan