【发布时间】:2019-10-20 07:51:31
【问题描述】:
我是 vba 和 sap gui 脚本的新手,有人能指出我正确的方向吗?
我想我的错误处理语句可能有问题。如果有任何图标值(每个示例为绿色),它应该将图标值(每个示例为绿色)并将 C 列留空并在 B 列上放置“无图标”,然后转到下一个单元格并再次检查是否有图标或现在。
我在 excel(A 列)中有一个元素列表,我想在 sap 中检查,而不是手动逐个检查,我正在使用宏来检查 excel 上的所有项目并返回值图标(如果在 sap 中为绿色,则应返回图标值并将其放在“C”列)如果找不到图标,则应将值放在“B”列上。
我尝试下一个错误恢复,但问题是它只工作一次,然后它开始在列 C 和 B 中输入相同的值,无论是否有绿色图标。
如果我不输入错误处理方法,一旦没有图标,vba 会显示问题存在,但是当我执行以下操作时,它可以正常工作(放置“无图标”)并结束退出宏:
'=====================Column A contains the Numbers I want to check on sap
on error goto msg
For Each rng In Columns("A").Cells.SpecialCells(xlCellTypeConstants)
Elements= Cells(Elem.Row, "A").Value
If Elem.Value Like "?56*"
session.findById("wnd[0]/usr/tblSAPDV70ATC_NAST3").Columns.elementAt(0).Width = 4
session.findById("wnd[0]/usr/tblSAPDV70ATC_NAST3/lblDV70A-STATUSICON[0,1]").SetFocus
session.findById("wnd[0]/usr/tblSAPDV70ATC_NAST3/lblDV70A-STATUSICON[0,1]").caretPosition = 0
Value = session.findById("wnd[0]/usr/tblSAPDV70ATC_NAST3/lblDV70A-STATUSICON[0,1]").IconName
Cells(rng.Row, "C") = value
End If
Next
msg:
cells(rng.row, "D").value = "No icon"
End Sub
提前谢谢你。 问候
【问题讨论】: