Gibt es im SAP einen "paste- bzw. copy-Befehl" der bei der Skriptaufzeichnung erkannt wird und in VBA verarbeitet werden kann?
Ich sollte haufenweise Werte einzeln nacheinander von Excel in ein SAP Texfeld kopieren, weiss jedoch nicht, wie ich dies automatisieren kann, da der Befehl leider immer so ausschaut: ... session.findById("wnd[0]").resizeWorkingPane 115, 38, False
session.findById("wnd[0]/usr/ctxt").Text = "525445"
session.findById("wnd[0]/usr/ctxt").caretPosition = 6
session.findById("wnd[0]").sendVKey 0
anstatt bei .Text="525445" sollte wahrscheinlich irgend ein paste Befehl stehen.
Kann mir irgendwer helfen bitte?
2 Antworten
Nein, einen Paste- oder Copy-Befehl gibt es natürlich nicht. Wenn du dich mit VBA und SAP GUI Scripting auseinandersetzen willst, ist die Lösung relativ einfach.
Eine Quick and Dirty-Lösung wäre es, wenn du den Code-Schnipsel nach Word kopierst, über den Serienbrief-Assistenten mit der Excel-Tabelle verknüpfst und im Befehl
session.findById("wnd[0]/usr/ctxt").Text = "525445"
den String
"525445"
inkl. der Anführungszeichen ersetzt durch dein Excel-Feld.
Der Serienbriefassisten bastelt dir dann den gesamten Code-Schnipsel sooft hintereinander, wie Excel-Zeilen vorhanden sind. Diesen Code kannst du dann in deinen ursprünglichen VBA-Code rein kopieren und das Programm dann starten. Aber vorsicht, damit kann man auch viel falsch machen. Also erstmal mit nur wenigen Excel-Zeilen und auf einem Testsystem testen.
Deutlich einfacher geht das - wie von zalto schon erwähnt - mit 3rd-party-Lösungen wie SimDia² von ERSAsoft.
Wenn Excel/VBA und SAP, würde ich es mit dem SAP Function Control (BC-FES-AIT) versuchen. Damit kann man RFCs/BAPIs aufrufen - aber auch eine Art Batch-Input ist bei Bedarf möglich, wenn es denn unbedingt sein muss.
Alternative wären 3rd party Integrations-Lösungen, wie z.B. die von Theobald-Software.