【问题标题】:Find field name references in SAP scripting vba在 SAP 脚本 vba 中查找字段名称引用
【发布时间】:2018-04-29 22:47:30
【问题描述】:

我需要在 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")

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

【问题讨论】:

  • Set GridView = Session.FindById("wnd[0]/usr/tabsTABCJLE/tabbLEGR/ssubLISTE:SAPLCJWB:0902/tblSAPLCJWBTAB_902/txtPRPS-POST1[3,0]") 然后我可以使用msgbox ("test=") & gridview.text ,它工作正常,但仍然需要找到一种方法来访问行而不用特定语法设置 gridview!

标签: vba sap-gui


【解决方案1】:

您可以尝试以下方法:

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

问候, 脚本人

【讨论】:

  • 这行得通。如果可以,请告诉我在哪里可以获得文档、教程或至少一本关于 SAPGUI 脚本编写的好书,最好带有示例! (哈哈,我觉得我在为家庭顾问做广告!)但是谢谢
  • 虽然我觉得奇怪的是该行被转换为带有 Cstr 的字符串!皮特
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-15
  • 1970-01-01
  • 1970-01-01
  • 2020-05-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多