SAP GUI脚本 - Gridview - 在给定列中查找文本并双击单元格

时间:2015-10-14 09:42:53

标签: vba sap

我使用excel VBA尝试自动化某些SAP数据输入。

我有一个gridview控件,我试图在列中查找特定文本,然后双击该单元格以选择它。

我目前正在使用for循环查找行但得到一些奇怪的结果。当我单步执行代码时,我可以访问该行,但无法选择或双击它。当代码以通常的速度运行时,甚至没有选择该行!

有没有更好的方法来解决这个问题?

这是迄今为止的代码

 Function SelectRowOnGrid(grid As SAPFEWSELib.GuiGridView, columnname As String, texttofind As String) 

        For i = 0 To grid.RowCount - 1

            If grid.GetCellValue(i, columnname) = texttofind Then
                grid.DoubleClickCurrentCell
            End If

        Next i

End Function

我也尝试过以下代码:

    Function SelectRowOnGrid(grid As SAPFEWSELib.GuiGridView, columnname As String, texttofind As String)

        For i = 0 To grid.RowCount - 1

          If InStr(1, grid.GetCellValue(i, columnname), texttofind, 1) > 0 Then

            If selectedRows = "" Then
              selectedRows = CStr(i)
                Else
              selectedRows = selectedRows + "," + CStr(i)
            End If

          End If

        Next i

    grid.selectedRows = selectedRows

End Function

感谢任何帮助!

欢呼声

1 个答案:

答案 0 :(得分:3)

您需要在双击之前选择单元格:

If grid.GetCellValue(i, columnname) = texttofind Then
    grid.SetCurrentCell(i, columnname)
    grid.DoubleClickCurrentCell
End If