Hallo Zusammen,
ich habe ein Problem mit meinem Skript und hoffe mir kann jemand helfen. Ich würde gerne eine Excel Datei auslesen, die Daten daraus sollen in eine von mir gebaute TA "Z_DEBITOR_STAMMDATEN" eingeben werden und danach soll das Ergebnis exportiert werden. DIe Anmeldung funktioniert dank den Beiträgen in anderen Foren von Skriptmen wunderbar. Der Export der Datei klappt über die Eingabe %pc auch super. Nun zum ersten Problem:
1. Wenn die Datei bereits existiert überschriebt er diese nicht. Das SKript wird ausgeführt und es passiert kein Export. Was muss ich im Skript noch anpassen, damit der Name immer überschrieben wird.
Das zweite Problem ist....
2. ICh habe leider keine IDee bisher wie ich Daten aus Excel in SAP einlesen kann und bräuchte hier wohl mal einen Denkanstoss. Ich habe eine Excel Datei in der in Zeile A1 "Name1" in Zeile B1 "Name2" etc. steht. Diese will ich gerne beim Ausführen des Skriptes in die dafür vorgesehenen Textpassagen übertragen.
Ich hoffe das Ihr mir helfen könnt.
**********ANMELDUNG************
'Sub SapGui()
'Dim oSapGui As Object
'Dim oApp As SAPFEWSELib.GuiApplication
'Dim oConn As SAPFEWSELib.GuiConnection
'Dim oSession As SAPFEWSELib.GuiSession
Set wshell = CreateObject("Wscript.Shell")
On Error Resume Next
Set oSapGui = GetObject("SAPGUI")
Set oApp = oSapGui.GetScriptingEngine
myError = Err.Number
On Error GoTo 0
If myError <> 0 Then
'Hier folgt ein Aufruf von LogonPad, das u.U. angepasst werden müsste.
wshell.Run Chr(34) & "C:\Program Files (x86)\SAP\FrontEnd\SAPgui\saplogon.exe" & Chr(34), 6, False
'Application.Wait (Now + TimeValue("00:00:04"))
wscript.sleep 4000
myError = 0
On Error Resume Next
Set oSapGui = GetObject("SAPGUI")
Set oApp = oSapGui.GetScriptingEngine
myError = Err.Number
On Error GoTo 0
If myError <> 0 Then
MsgBox "SAP Logon ist nicht installiert.", vbInformation
End If
End If
On Error Resume Next
Set oConn = oApp.Children(0)
myError = Err.Number
' 1. Session der Connection
Set oSession = oConn.Children(0)
myError = Err.Number
On Error GoTo 0
If myError <> 0 Then
Set oConn = oApp.OpenConnection("SYSTEM", False)
Set oSession = oConn.Children(0)
'oSession.findById("wnd[0]").iconify
oSession.findById("wnd[0]/usr/txtRSYST-MANDT").Text = "XXX"
oSession.findById("wnd[0]/usr/txtRSYST-BNAME").Text = "XXXXX"
oSession.findById("wnd[0]/usr/pwdRSYST-BCODE").Text = "XXXXXXX"
oSession.findById("wnd[0]").SendVKey 0
End If
Set oSession = Nothing
Set oConn = Nothing
Set oApp = Nothing
Set oSapGui = Nothing
'End Sub
***********Eingabe der Daten aus EXCEL IN SAP*********
If Not IsObject(application) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set application = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(connection) Then
Set connection = application.Children(0)
End If
If Not IsObject(session) Then
Set session = connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject application, "on"
End If
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").text = "Z_DEBITOR_STAMMDATEN"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/txtSP$00002-HIGH").setFocus
session.findById("wnd[0]/usr/txtSP$00002-HIGH").caretPosition = 0
session.findById("wnd[0]/usr/btn%_SP$00002_%_APP_%-VALU_PUSH").press
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/tblSAPLALDBSINGLE/txtRSCSEL_255-SLOW_I[1,0]").text = "*[h]NAME1[/h]*"
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/tblSAPLALDBSINGLE/txtRSCSEL_255-SLOW_I[1,1]").text = "*NAME2*"
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/tblSAPLALDBSINGLE/txtRSCSEL_255-SLOW_I[1,2]").text = "*NAME3*"
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/tblSAPLALDBSINGLE/txtRSCSEL_255-SLOW_I[1,3]").text = "*NAME4*"
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/tblSAPLALDBSINGLE/txtRSCSEL_255-SLOW_I[1,4]").text = "*NAME5*"
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/tblSAPLALDBSINGLE/txtRSCSEL_255-SLOW_I[1,5]").text = "*NAME6*"
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/tblSAPLALDBSINGLE/txtRSCSEL_255-SLOW_I[1,6]").text = "*NAME7*"
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/tblSAPLALDBSINGLE/btnRSCSEL_255-SOP_I[0,7]").setFocus
session.findById("wnd[1]").sendVKey 8
session.findById("wnd[0]/usr/txtSP$00004-HIGH").setFocus
session.findById("wnd[0]/usr/txtSP$00004-HIGH").caretPosition = 0
session.findById("wnd[0]/usr/btn%_SP$00004_%_APP_%-VALU_PUSH").press
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/tblSAPLALDBSINGLE/txtRSCSEL_255-SLOW_I[1,0]").text = "*[h]ORT1*"[/h]
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/tblSAPLALDBSINGLE/txtRSCSEL_255-SLOW_I[1,1]").text = "*[h]ORT2[/h]*"
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/tblSAPLALDBSINGLE/txtRSCSEL_255-SLOW_I[1,2]").text = "*[h]ORT3[/h]*"
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/tblSAPLALDBSINGLE/txtRSCSEL_255-SLOW_I[1,3]").text = "*ORT4*"
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/tblSAPLALDBSINGLE/txtRSCSEL_255-SLOW_I[1,4]").text = "*ORT5*"
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/tblSAPLALDBSINGLE/txtRSCSEL_255-SLOW_I[1,5]").text = "*ORT6*"
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/tblSAPLALDBSINGLE/txtRSCSEL_255-SLOW_I[1,6]").text = "*ORT7*"
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/tblSAPLALDBSINGLE/txtRSCSEL_255-SLOW_I[1,7]").setFocus
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/tblSAPLALDBSINGLE/txtRSCSEL_255-SLOW_I[1,7]").caretPosition = 0
session.findById("wnd[1]").sendVKey 8
session.findById("wnd[0]").sendVKey 8
****EXPORT DER DATEI in XLS*****
session.findById("wnd[0]/tbar[0]/okcd").text = "%pc"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[1]/usr/subSUBSCREEN_STEPLOOP:SAPLSPO5:0150/sub:SAPLSPO5:0150/radSPOPLI-SELFLAG[1,0]").select
session.findById("wnd[1]/usr/subSUBSCREEN_STEPLOOP:SAPLSPO5:0150/sub:SAPLSPO5:0150/radSPOPLI-SELFLAG[1,0]").setFocus
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[1]/usr/ctxtDY_FILENAME").text = "TEST.xls"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 7
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[0]").sendVKey 0