Я пытаюсь изменить ресурс в 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