Hallo Forumsgemeinde,
aufgrund des letzten Beitrages im guixt-Forum von novice ist mir das Thema gui-scripting wieder ins Bewusstsein gekommen (hab es irgendwann mal probiert hat aber nicht funktioniert).
Da das Thema für mich nach wie vor sehr interessant klingt und ich jetzt mal die ersten Gehversuche unternommen habe, sind natürlich gleich die ersten Problemchen/Fragen aufgetaucht (leider kann man zum Thema gui-scripting nicht gerade sehr viel im Inet finden).
1. Wenn ich das script aufzeichne und direkt über den recorder abspiele funktioniert es einwandfrei. Wenn ich das script über den windows-explorer öffnen möchte komm[img]null[/img][img]null[/img][img]null[/img]t die Fehlermeldung „Ein Skript versucht sich an das SAP-GUI anzubinden“. Wenn ich die Häckchen aus den Scripting-Benutzereinstellungen rausnehme kommt die Meldung zwar nicht mehr aber funktionieren tut es auch nicht.
2. das führt auch gleich zum 2ten. Würde das vb-script gerne über einen guixt-Button starten. Das funktioniert aber aufgrund Nr. 1 nicht.
3. das ist eigentlich mein größtes Anliegen – ist es möglich eine Massenänderung aus einem excel-sheet zu machen?
Habe zb folgendes script aufgezeichnet (mm02 Materialänderung)
------------
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/ctxtRMMG1-MATNR").text = "3E202200R12"
session.findById("wnd[0]/usr/ctxtRMMG1-MATNR").caretPosition = 11
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[1]").sendVKey 0
session.findById("wnd[0]/usr/tabsTABSPR1/tabpSP07").select
session.findById("wnd[1]").sendVKey 0
session.findById("wnd[0]/usr/tabsTABSPR1/tabpSP07/ssubTABFRA1:SAPLMGMM:2004/subSUB3:SAPLMGD1:2207/ctxtMARC-HERKL").text = "AT"
session.findById("wnd[0]/usr/tabsTABSPR1/tabpSP07/ssubTABFRA1:SAPLMGMM:2004/subSUB3:SAPLMGD1:2207/ctxtMARC-HERKL").setFocus
session.findById("wnd[0]/usr/tabsTABSPR1/tabpSP07/ssubTABFRA1:SAPLMGMM:2004/subSUB3:SAPLMGD1:2207/ctxtMARC-HERKL").caretPosition = 2
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/tbar[0]/btn[11]").press
-----------
Würde jetzt gerne aus einer Excel-Liste eine Materialnummer nach der anderen in die mm02 übernehmen und diese dann genauso ändern wie im Beispiel.
Hoffe auf eure Unterstützung.
lg newgui
P.S.: möchte mich auch für die bisherige Unterstützung bedanken (speziell bei scriptman) - werde, sobald ich die Möglichkeit habe (geht in der Arbeit leider nicht) mal ein Bild meiner mittels guixt erstellten SAP-Einstiegsmaske hier reinstellen, damit sich auch Neuankömmlinge ein besseres Bild machen können was guixt kann (die guixt-Forumsgemeinde könnte ruhig noch ein wenig wachsen, ausserdem soll man ja nicht nur nehmen sondern auch ab und zu mal geben 😁 )