【问题标题】:SAP GUI Scripting: read cell value in a table controlSAP GUI 脚本:读取表格控件中的单元格值
【发布时间】:2019-12-19 16:37:45
【问题描述】:

我想读取表格上的单元格值 - 下面的事务 C202 示例。

我可以使用 SAP GUI Scripting Recorder 到 "check""select" (row = 5, column = 1),在 "0122" 旁边和 (row = 5, column = 1),在 "0125" 旁边。

它给了我一个简单的代码:

''' selects 0122
session.findById("wnd[0]/usr/tabsTABSTRIP_RECIPE/tabpVOUE/ssubSUBSCREEN_RECIPE:SAPLCPDI:4401/tblSAPLCPDITCTRL_4401").getAbsoluteRow(4).selected = true

'''selects 0125
session.findById("wnd[0]/usr/tabsTABSTRIP_RECIPE/tabpVOUE/ssubSUBSCREEN_RECIPE:SAPLCPDI:4401/tblSAPLCPDITCTRL_4401").getAbsoluteRow(7).selected = true

但是,它会改变可用的行。

有时会有:

0100, 0110, 0120, 0121, 0122, 0123, 0124, 0125, 0130, 0140
-sometimes there will be 0100, 0110, 0122, 0123, 0124, 0125, 0140
-sometimes there will be 0100, 0121, 0122, 0123, 0124, 0125, 0140
-sometimes there will be 0100, 0122, 0123, 0125, 0130, 0140
etc

我想读取 column = 2 以便知道它是 0122 还是 0125,然后检查它们。

我怎样才能把这个值放在一个变量中并使用 msgbox 来显示它?

PSEUDO CODE

dim readVariable as string

for row = 1 to NumberOfRows
      readVariable = Table.Read (row,2)
         if readVariable = 0122
            msgbox "row = " & row " & " is 0122"
         end if
         if readVariable = 0125
            msgbox "row = " & row " & " is 0125"
         end if
next

我尝试关注Link 但我无法让它工作。

非常感谢!!!

【问题讨论】:

  • 使用记录器,如果您将插入符号(文本光标)定位在字段中,例如在第一个字符处,生成的 VBS 文件将包含类似 session.findById("<the field ID>").caretPosition = 1 的内容,因此您自己的 VBS 可以使用这个ID:msgbox session.findById("<the field ID>").text
  • 感谢一百万,桑德拉·罗西!有效!它显示“0110”。比较 msgbox *** = 0110、msgbox *** = 110 和 msgbox *** = "0110" 返回 TRUE(只有 msgbox *** = "110" 返回 FALSE)。谢谢!它被认为是一个价值,对吧?因为 msgbox *** + 1 返回 111。如何将其读取为字符串? @桑德拉罗西
  • 属性text 始终是一个字符串。添加 1 意味着类型转换,根据 VBScript 类型模型,我猜。
  • 我写了一个extensive answer about how to work with Table Controls,里面也包含了这个问题的答案。

标签: excel vba vbscript sap-gui


【解决方案1】:

使用 '&' 而不是 +,您将得到 01101,因为 VBS 将假定转换将定向到字符串类型,并将您的字符串与“1”连接起来,而不是将您的字符串解析为变量的数字类型只需添加 1。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-06
    • 1970-01-01
    • 2012-11-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多