SAP Jobsuche bei DV-Treff
Destrubtor
vor 16 Jahre

Ich habe mal eine Frage bezüglich eines Visual Basic Scriptes,

Ich habe eine Liste mit Materialnummer und ich möchte zu jedem dieser Materialnummer den Internen vermerk auslesen und das über ein Visual Basic script, es ist auch soweit fertig nur fehlt mir eine Methode um aus diesem Texteditfeld den Text zu bekommen.

ich habe was von einer Get_line_text methode gelesen, geht das mit der? Und welche parameter muss ich übergeben?

ScriptMan
vor 16 Jahre

Hallo Destrubtor,

vielleicht hilft dir mein Hinweis weiter. Rufe über Alt / F12 --> Optionen --> Scripting eine Maske auf, in der man das Scripting einschaltet und die beiden unten stehenden Meldungen abschaltet. Starte anschließend deine Transaktion mit der Materialnummer und dem auf dem Bildschirm zu sehenden internen Vermerk. Rufe in diesem Moment über Alt / F12 --> Skriptaufzeichnung und -Playback den Scriptrecorder auf. Drücke auf den roten Knopf und beginne die Aufzeichnung. Positioniere den Cursor auf den internen Vermerk. Beende anschließend die Aufzeichnung mit dem gelben Knopf und schließe den Scriptrecorder. Suche dann nach einer VBS-Datei namens script1.vbs, die sich z.B. bei mir unter %USERPROFILE% \ SapWorkDir nach jeder Aufzeichnung befindet. Diese könnte u.U. wie folgt aussehen:

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]/usr/ctxtRESC_SETTL_UNIT_X-SEMPSL").setFocus
session.findById("wnd[0]/usr/ctxtRESC_SETTL_UNIT_X-SEMPSL").caretPosition = 4

Betrachten wir jetzt die zuletzt aufgezeichnete Position. Füge in deinen Script folgende Zeile ein:

TEXT = session.findById("wnd[0]/usr/ctxtRESC_SETTL_UNIT_X-SEMPSL").text

Damit kannst du in die Variable TEXT einen Text von SAPGUI übertragen und anschließend für deine Zwecke verwenden.

Viel Spaß beim Testen!

ScriptMan

TyloHH
vor 11 Jahre
Ich erhalte die Fehlermeldung

"Das objekt unterstützt diese eigenschaft oder methode nichtCode: 800A01B6

Ich habe noch obiger Anleitung die care position ermittelt:

TPtxt = session.findById("wnd[0]/usr/subSUB_ALL:SAPLCOIH:3001/ssubSUB_LEVEL:SAPLCOIH:1100/tabsTS_1100/tabpIHKZ/ssubSUB_AUFTRAG:SAPLCOIH:1120/subOBJECT:SAPLCOIH:7120/txtRIOT-PLTXT").txt
ScriptMan
vor 11 Jahre
Hallo TyloHH,

es ist ein purer Zufall, dass ich deine Frage gesehen habe. In der Gruppe "Entwicklung" bewege ich mich selten.

Aber zu deinem Problem. Es könnte daran liegen, dass du statt ".text" ".txt" verwendet hast.

Freundliche Grüße

ScriptMan