【问题标题】:Vba sap scripting if no icon found如果未找到图标,则 Vba sap 脚本
【发布时间】: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

提前谢谢你。 问候

【问题讨论】:

    标签: vba sap-gui


    【解决方案1】:

    您可以尝试以下方法。

    例如:

    '=====================A 列包含我想在 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*" 
    
    on error resume next
    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
    
    if err.number = 0 then
       Cells(rng.Row, "C") = Value
    else
       Cells(rng.row, "D").value = "No icon"
    end if
    err.clear
    on error goto 0
    End If
    Next
    
    'msg:
    
    'cells(rng.row, "D").value = "No icon"
    End Sub
    

    问候,脚本人

    【讨论】:

      猜你喜欢
      • 2023-02-14
      • 1970-01-01
      • 1970-01-01
      • 2021-12-01
      • 2011-12-21
      • 1970-01-01
      • 2022-01-17
      • 2017-06-19
      • 1970-01-01
      相关资源
      最近更新 更多