SAP VA02 如何定位表格控件中客户预期价格所在行并读取单元格文本
你要读取SAP GUI表格控件中指定单元格的文本,直接访问对应单元格对象的.Text属性即可,和你写入价格时调用该属性赋值的逻辑完全一致。
以下是适配你现有代码的实现片段,替换你原有注释标注需要调整的部分即可:
' 定义变量存储目标行号 Dim targetRow As Integer, j As Integer Dim cellText As String targetRow = -1 ' 遍历表格所有行 tbl2.verticalScrollbar.Position = 0 For j = 0 To tbl2.Rows.Count - 1 ' 滚动到当前行确保单元格可见,避免读取失效 tbl2.verticalScrollbar.Position = j ' 读取第2列(列索引为2)第j行的文本 cellText = Trim(tbl2.findById("txtKOMV-KBETR[2," & j & "]").Text) ' 匹配目标标签,可根据系统实际显示文本调整匹配规则 If InStr(1, cellText, "Cust. expected price", vbTextCompare) > 0 Or InStr(1, cellText, "客户预期价格", vbTextCompare) > 0 Then targetRow = j Exit For End If Next j ' 匹配到目标行后写入价格 If targetRow <> -1 Then tbl2.findById("txtKOMV-KBETR[3," & targetRow & "]").Text = Price tbl2.findById("txtKOMV-KBETR[3," & targetRow & "]").SetFocus tbl2.findById("txtKOMV-KBETR[3," & targetRow & "]").caretPosition = 16 Else ' 可自行添加未找到目标行的异常处理逻辑 MsgBox "未找到客户预期价格行,订单号:" & Order End If
注意事项
- 如果运行时提示找不到对应ID的控件,可使用SAP GUI自带的脚本录制工具,手动点击一次标签列的任意单元格,获取该列实际的控件ID替换代码中的
txtKOMV-KBETR即可。 - 匹配规则可根据系统实际显示的文本调整,若标签固定显示为中文就只保留中文匹配条件,减少误匹配概率。
内容的提问来源于stack exchange,提问作者dankimir
相关产品推荐
相关产品推荐

