Excel VBA 用于查找行索引的 SAP GUI 脚本

Excel VBA SAP GUI Scripting to find row index

我正在尝试通过 excel 宏更改 SAP 中的资源。我需要找到焦点单元格的行号,然后插入 'work shift' 行。 我已经尝试了 .CurrentCellRow.SelectedRows.GetRowPosition 但没有成功。

以下是我写到现在的代码,

   Sub SAP_Entry_Plus(i As Variant)

   Dim STime As String
   Dim FTime As String
   Dim CU As String

        Session.findById("wnd[0]/tbar[1]/btn[26]").press

            SlcDate = ThisWorkbook.Worksheets("Planned Shifts").Range("C" & i).Value
            x = (Weekday(SlcDate, vbMonday) - 1)
            MonDate = SlcDate - x

        Session.findById("wnd[1]/usr/ctxtRC68K-DATUV_SEL").Text = MonDate
        Session.findById("wnd[1]/tbar[0]/btn[0]").press

        RNum2 = Session.findById("wnd[0]/usr/tblSAPLCRK0TC116").CurrentCellRow
        RNum3 = Session.findById("wnd[0]/usr/tblSAPLCRK0TC116").SelectedRows
        RNum4 = Session.findById("wnd[0]/usr/tblSAPLCRK0TC116").GetRowPosition
        RNum5 = Session.findById("wnd[0]/usr/tblSAPLCRK0TC116").GetSelectedCellRow
        RNum6 = Session.findById("wnd[0]/usr/tblSAPLCRK0TC116").GetCurrentCellRow


        Session.findById("wnd[0]/usr/tblSAPLCRK0TC116").getAbsoluteRow(123).Selected = True

        Session.findById("wnd[0]/usr/tblSAPLCRK0TC116/ctxtKAZA-KKOPF[2,6]").SetFocus
        Session.findById("wnd[0]/tbar[1]/btn[6]").press

            STime = Format(ThisWorkbook.Worksheets("Planned Shifts").Range("D" & i).Value, "hh:mm:ss")
            FTime = Format(ThisWorkbook.Worksheets("Planned Shifts").Range("E" & i).Value, "hh:mm:ss")
            CU = ThisWorkbook.Worksheets("Planned Shifts").Range("F" & i).Value

        Session.findById("wnd[0]/usr/tblSAPLCRK0TC116/ctxtKAZA-BEGZT[8," & x + 1 & "]").Text = STime
        Session.findById("wnd[0]/usr/tblSAPLCRK0TC116/ctxtKAZA-ENDZT[9," & x + 1 & "]").Text = FTime
        Session.findById("wnd[0]/usr/tblSAPLCRK0TC116/txtKAZA-NGRAD[11," & x + 1 & "]").Text = CU

    End Sub

您可以尝试使用以下参数求解:

set myTable = session.findById("wnd[0]/usr/tblSAPLCRK0TC116")

myRow = myTable.CurrentRow
myNumber_of_Rows = myTable.RowCount
myVis_Rows = myTable.VisibleRowCount
myPosition = myTable.VerticalScrollbar.Position

myAbsolute_Row = myPosition + myRow

以下 link 可能也会有所帮助: https://documentation.microfocus.com/help/index.jsp?topic=%2Fcom.borland.silktest.silk4net.doc%2Flangref%2FSAP%2FSapTableClass_ref.html