SAP - Feldinhalt erkennen/kopieren
01.12.2021 10:22:22
Gerd
ich möchte gerne, dass in der angefügten Schleife erkannt wird, ob in einem SAP-Feld (Feldname: ZZWM_KKTEXT-LAGERPLZ11) ein Eintrag erkannt wird!
Sub KKeintrag()
Dim lngEnd As Long
i = 1
With ThisWorkbook.Worksheets(1)
lngEnd = .Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lngEnd
If .Cells(i, 2) = "Eintrag suchen" Then
objSess.findById("wnd[0]/tbar[0]/okcd").Text = "/nzwm_pick"
objSess.findById("wnd[0]").sendVKey 0
objSess.findById("wnd[0]/tbar[1]/btn[18]").press
objSess.findById("wnd[0]/usr/ctxt*AUFK-AUFNR").Text = .Cells(i, 1)
objSess.findById("wnd[0]/usr/ctxt*AUFK-AUFNR").SetFocus
objSess.findById("wnd[0]/usr/ctxt*AUFK-AUFNR").caretPosition = 8
objSess.findById("wnd[0]").sendVKey 0
'wenn hier in dem Feld was eingetragen ist, dann in Cells (i, 2) Eintrag: OK ....oder noch besser den Feld-Eintrag reinkopieren
objSess.findById("wnd[0]/usr/sub:SAPLZ_WM_PICKING_BOX_MANAGE:9201/txtZZWM_KKTEXT-LAGERPLZ11[0,25]").Text = "?"
'wenn kein Eintrag, dann in Cells (i, 2) Eintrag: FEHLT
objSess.findById("wnd[0]/tbar[0]/btn[3]").press
objSess.findById("wnd[1]/usr/btnSPOP-VAROPTION2").press
.Cells(i, 2) = ""
End If
Next i
End With
objSess.findById("wnd[0]/tbar[0]/btn[3]").press
objSess.findById("wnd[0]/tbar[0]/btn[3]").press
End Sub
In Feldern, die "grau" unterlegt sind - also nicht zu ändern sind - habe ich immer erfolgreich.....
objSess.findById("wnd[0]/usr/txt....FELDNAME...").SetFocus
objSess.findById("wnd[0]/usr/txt....FELDNAME...").caretPosition = 0
wksData.Cells(i, 2) = objSess.findById("wnd[0]/usr/txt....FELDNAME...").Text
.Cells(i, 3) = "OK"
....angewendet!!! Was in diesem Fall aber nicht funktioniert, da im Feld: "ZZWM_KKTEXT-LAGERPLZ11" der Eintrag geändert werden kann!
Optimal wäre es sogar, wenn der Eintrag in dem Feld in Cells (i, 2) kopiert wird :)
Lieben Gruß
Gerd :)