在 SAP 脚本中查找字段名称引用 vba

Find field name references in SAP scripting vba

我需要在 VBA 下使用脚本查找对 SAP 中文本框的字段名称引用!

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")

但我找不到正确标识字段的方法。

您可以尝试以下方法:

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
...

此致, 脚本人