Hallo,
Mein Problem besteht darin, Daten aus einem SAP Grid in meinem Programm einzulesen. Es sind nur jeweils einzelne Zellen. Da mir Berechtigungen fehlen, habe ich mich entschlossen den Windows Script Host (WSH) zu benutzen.
Ausführen der Scripte klappt wunderbar mit
WSH Control. Das speichern der Zellen in einer Datei funktioniert. Nur will ich diese Daten nicht in einer Datei speichern (war hier nur als Test gedacht), sondern in meinem Programm verarbeiten. Nur wie stelle ich das an ?
Dachte eigentlich an die Zwischenablage. Abrufen wäre dann nicht das Problem, nur wie kriege ich die Daten dahin? Also ohne die gespeicherten Daten wieder einzulesen. Irgendwie schaffe ich es nicht mit "getCellValue" einen Wert in einer Variablen zu packen und dann in den Zwischenspeicher zu laden.
Hier mal das Testscript:
Code:
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
Set GRID1 = session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell")
Set oFS = CreateObject("Scripting.FileSystemObject")
Set oTS = oFS.CreateTextFile("C:\script.txt")
for i = 0 to GRID1.rowCount - 1
oTS.writeLine(GRID1.getCellValue(i,"QMTXT")+"."+GRID1.getCellValue(i,"TPLNR"))
Next
Ich bedanke mich im voraus für eure Hilfe.