• 211 User online von 18,611 Mitgliedern
  • 49,631 Beiträge zu 13,607 Themen
  • 211 User online von 18,611 Mitgliedern
  • 49,631 Beiträge zu 13,607 Themen
02196 7066-717
Willkommen Gast! Um alle Funktionen zu aktivieren müssen Sie sich Anmelden oder Registrieren.

Mitteilung

Icon
Error

Optionen
Gehe zum aktuellsten Beitrag Gehe zum letzten Ungelesenen
Offline Juergen Mayer  
#1 Geschrieben : Dienstag, 8. August 2017 07:32:24(UTC)
Juergen Mayer

Beiträge: 3
Germany
Wohnort: Rehden
Hallo GuiXT-Community: Ich habe mich an einem Script versucht, das Werte aus einem Excel-Sheet einliest und damit den TAC "LS01N" wiederholt befüllt. Eigentlich sollte das Script nach der letzten befüllten Excel-Zeile eine Meldung ausgeben, bricht aber immer mit "The Method got an invalid Argument" ab. Die Lagerplätze werden aber "richtig" angelegt. Das Problem ist also ein rein "kosmetisches". Wer kann mir hier eventuell weiterhelfen?

Mein Script:

'**************************************************************
' allg. SAPScript-Parameter
'**************************************************************
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



'**************************************************************
' Aufruf der Transaktion LS01N
'**************************************************************
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").text = "/nLS01N"
session.findById("wnd[0]").sendVKey 0


'**************************************************************
' Parameter für XLSX-Datei und Befüllen der Felder
'**************************************************************
'Dim ExcelApp, ExcelWB, ExcelWS
set ExcelApp=createobject("Excel.Application")
ExcelApp.visible=true
set ExcelWB=ExcelApp.Workbooks.Open("P:\10062069\guixt\scripts - Entwicklung\Lagerplaetze und Veriffeld\Plaetze.xlsx")
set ExcelWS=ExcelWB.Worksheets("Tabelle1")


for i = 2 to ExcelApp.ActiveCell.SpecialCells(11).Row

for j = 1 to ExcelApp.ActiveCell.SpecialCells(11).Column
if j=1 then LGNUM = ExcelWS.Cells(i,j).Value
if j=2 then LGTYP = ExcelWS.Cells(i,j).Value
if j=3 then LGBER = ExcelWS.Cells(i,j).Value
if j=4 then LPTYP = ExcelWS.Cells(i,j).Value
if j=5 then LGPLA = ExcelWS.Cells(i,j).Value
next

session.findById("wnd[0]/usr/ctxtLAGP-LGNUM").text = LGNUM
session.findById("wnd[0]/usr/ctxtLAGP-LGTYP").text = LGTYP
session.findById("wnd[0]/usr/ctxtLAGP-LGPLA").text = LGPLA

session.findById("wnd[0]/usr/ctxtLAGP-LGPLA").setFocus
session.findById("wnd[0]/usr/ctxtLAGP-LGPLA").caretPosition = 10
session.findById("wnd[0]/usr/btnREFRESH").press
session.findById("wnd[0]").sendVKey 0

session.findById("wnd[0]/usr/tabsFUNC_TABSTRIP/tabpALLG/ssubD0400_S:SAPML01S:4001/ctxtLAGP-LGBER").text = LGBER
session.findById("wnd[0]/usr/tabsFUNC_TABSTRIP/tabpALLG/ssubD0400_S:SAPML01S:4001/ctxtLAGP-LPTYP").text = LPTYP
session.findById("wnd[0]/usr/tabsFUNC_TABSTRIP/tabpALLG/ssubD0400_S:SAPML01S:4001/txtLAGP-VERIF").text = LGPLA


session.findById("wnd[0]/usr/tabsFUNC_TABSTRIP/tabpALLG/ssubD0400_S:SAPML01S:4001/txtLAGP-VERIF").setFocus
session.findById("wnd[0]/usr/tabsFUNC_TABSTRIP/tabpALLG/ssubD0400_S:SAPML01S:4001/txtLAGP-VERIF").caretPosition = 10
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/tbar[0]/btn[11]").press


next


msgbox "Alle Lagerplätze wurden angelegt."


ExcelWB.Close
ExcelApp.Quit

Nehmen Sie an dieser Diskussion teil! SAP FORUM - SAP Community LoginHier registrieren.

Offline ScriptMan  
#2 Geschrieben : Dienstag, 8. August 2017 11:18:41(UTC)
ScriptMan

Beiträge: 218
Hallo Jürgen,

wenn alles ordentlich angelegt wurde, dann kann es nur eine leere Zeile im Excel sein, die nach den tatsächlichen Daten folgt. Diese müsste gelöscht und die Excel-Mappe erneut abgespeichert werden. Zur Kontrolle könnte man STRG/Ende drücken, um zu sehen, dass der Cursor tatsächlich in der letzten Zeile mit einem Inhalt landet.

Grüße,
ScriptMan
Offline Juergen Mayer  
#3 Geschrieben : Dienstag, 8. August 2017 11:34:39(UTC)
Juergen Mayer

Beiträge: 3
Germany
Wohnort: Rehden
Danke ScriptMan!

Genau das war der Fehler - hatte ich so nicht auf der Pfanne!

Nochmals Danke und gute Zeit!
Benutzer, die gerade dieses Thema lesen
Das Forum wechseln  
Du kannst keine neue Themen in diesem Forum eröffnen.
Du kannst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge nicht löschen.
Du darfst deine Beiträge nicht editieren.
Du kannst keine Umfragen in diesem Forum erstellen.
Du kannst nicht an Umfragen teilnehmen.

- Impressum -