Найти ссылки на имена полей в сценариях SAP vba - PullRequest
0 голосов
/ 30 апреля 2018

Мне нужно найти ссылки на имена полей для текстовых полей в SAP с использованием сценариев под VBA!

Gridview не показывает имена!

 Dim GridView As Object

 If Not IsObject(SapAPP) Then
   Set SapGuiAuto = GetObject("SAPGUI") 
   Set SapAPP = SapGuiAuto.GetScriptingEngine
 End If
 If Not IsObject(SAPConn) Then
   Set SAPConn = SapAPP.Children(0)
 End If 
 If Not IsObject(session) Then
   Set session = SAPConn.Children(0)
 End If
 If IsObject(WScript) Then
  WScript.ConnectObject session, "on"
  WScript.ConnectObject SapAPP, "on"
 End If
 session.FindById("wnd[0]").resizeWorkingPane 150, 31, False
 session.FindById("wnd[0]").resizeWorkingPane 150, 31, False
 session.FindById("wnd[0]/tbar[0]/okcd").Text = "cn46n"
 session.FindById("wnd[0]").SendVKey 0
 session.FindById("wnd[0]/usr/ctxtCN_PROJN-LOW").Text = "P-312313"
 session.FindById("wnd[0]/usr/ctxtCN_NETNR-LOW").Text = "13123123"
 session.FindById("wnd[0]/usr/ctxtCN_NETNR-LOW").SetFocus
 session.FindById("wnd[0]/usr/ctxtCN_NETNR-LOW").CaretPosition = 7
 session.FindById("wnd[0]/tbar[1]/btn[8]").press
 session.FindById("wnd[0]/usr/cntlALVCONTAINER/shellcont/shell").CurrentCellColumn = "STATXT"
 session.FindById("wnd[0]/shellcont/shellcont/shell/shellcont[1]/shell/shellcont[1]/shell").TopNode = "         23"
 'Set GridView = session.FindById("wnd[0]/shellcont/shellcont/shell/shellcont[1]/shell/shellcont[1]/shell")
 Set GridView = session.FindById("wnd[0]/usr/cntlALVCONTAINER/shellcont/shell/shellcont[1]/shell/shellcont[1]/shell")
 session.FindById("wnd[0]/tbar[0]/btn[15]").press

Обычно с помощью gridview я могу видеть, как называются текстовые поля, и извлекать то, что мне нужно, что-то вроде ... MsgBox ("PSPID =") & GridView.GetCellValue (i, "PSPID")

Но я не могу найти способ правильно идентифицировать поля.

1 Ответ

0 голосов
/ 03 мая 2018

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

for i = 0 to 9
msgbox "test = " & Session.FindById("wnd[0]/usr/tabsTABCJLE/tabpLEGR/ssubLISTE:SAPLCJWB:0902/tblSAPLCJWBTAB_902/txtPRPS-POST1[3," & cstr(i) & "]").text
...

С уважением, ScriptMan

...