如何使用VBA在SAP GUI中高亮Mfr part number列含CON-的行

如截图所示,需要在SAP交互界面执行行检索操作:在「Mfr part number」列中定位文本前缀为「CON-」的条目,匹配成功后高亮对应行。目前暂未梳理出该需求的完整实现方案,已知可实现固定行高亮的参考代码如下:
sapsession.findById("wnd[0]/usr/tabsTAXI_TABSTRIP_OVERVIEW/tabpT\01/ssubSUBSCREEN_BODY:SAPMV45A:4400/subSUBSCREEN_TC:SAPMV45A:4900/tblSAPMV45ATCTRL_U_ERF_AUFTRAG").getAbsoluteRow(2).Selected = True
可落地实现方案
- 先将目标表控件的引用存为独立变量,无需每次操作都拼接超长控件路径,降低脚本运行开销
- 通过表控件的RowCount属性,获取当前表格可遍历的总行数范围
- 提前定位「Mfr part number」列对应的固定列索引:可通过列标题匹配遍历列集合,或直接通过SAP录制脚本拿到该列的技术列ID,避免手动数错列位置
- 逐行遍历所有行:通过表控件的
getCellValue(行索引, 列索引)方法取出对应单元格的文本内容,判断内容是否以CON-为前缀开头 - 匹配成功后直接沿用已知的高亮逻辑,调用
getAbsoluteRow(对应行索引).Selected = True完成高亮设置;如果需要匹配所有符合前缀规则的行,可循环遍历完成多行的高亮设置 - 注意SAP表控件的行索引默认从0开始计数,和示例代码中指定第2行的写法做适配,避免索引错位导致高亮错行
内容的提问来源于stack exchange,提问作者M4NNii3
相关产品推荐
相关产品推荐

