Excel VBA SAP Script для поиска индекса строки - PullRequest
0 голосов
/ 03 ноября 2018

Я пытаюсь изменить ресурс в SAP с помощью макроса Excel. Мне нужно найти номер строки в фокусированной ячейке, а затем вставить строку «рабочая смена». Я уже пробовал .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

1 Ответ

0 голосов
/ 05 ноября 2018

Вы можете попытаться решить со следующими параметрами:

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

Следующая ссылка также может немного помочь: https://documentation.microfocus.com/help/index.jsp?topic=%2Fcom.borland.silktest.silk4net.doc%2Flangref%2FSAP%2FSapTableClass_ref.html

...