我使用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
感谢任何帮助!
欢呼声
答案 0 :(得分:3)
您需要在双击之前选择单元格:
If grid.GetCellValue(i, columnname) = texttofind Then
grid.SetCurrentCell(i, columnname)
grid.DoubleClickCurrentCell
End If