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 Dawyqui  
#1 Geschrieben : Mittwoch, 5. Mai 2021 09:08:45(UTC)
Dawyqui

Beiträge: 1
Switzerland
Unten seht ihr das Programm:
Ich habe etwas mit dem Aufzeichnungstool aufgenommen und damit ich die einzelnen Daten
nicht jedes Mal im Editor ändern muss wollte ich noch eine Inputbox hinzufügen damit ich
jedes Mal abgefragt werde welche Daten ich denn einfügen möchte.
Ich habe irgendwas gebastelt da ich keinen Schimmer habe wie das genau funktioniert hat
es natürlich nicht geklappt.
Die Gelb markierten Bereiche habe ich eingefügt oder Verändert
Ich bin froh um jede Hilfe.

Box "Daten eingeben:"
InputField "Anlagenkürzel" name="AV_ANLG" size=18 techname="DANI-ANLG" -uppercase
InputField "VI oder SO?" name="AV_ART" size=18 techname="DANI-ART" -uppercase
InputField "Technischerplatz?" name="AV_TP" size=18 techname="DANI-TP" -uppercase
InputField "AV_EQuipment Nummer?" name="AV_EQ" size=18 techname="DANI-EQ" -uppercase

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]").resizeWorkingPane 117,46,false
session.findById("wnd[0]/usr/subSUBSCREEN_HEAD:SAPLIWP3:6000/txtRMIPM-WPTXT").text =
AV_ART & "_" & AV_ANLG
session.findById("wnd[0]/usr/subSUBSCREEN_MITEM:SAPLIWP3:8002/tabsTABSTRIP_ITEM/tabpT\11
/ssubSUBSCREEN_BODY2:SAPLIWP3:8022/subSUBSCREEN_ITEM_1:SAPLIWO1:0100/ctxtRIWO1-TPLNR").
text = AV_TP
session.findById("wnd[0]/usr/subSUBSCREEN_MITEM:SAPLIWP3:8002/tabsTABSTRIP_ITEM/tabpT\11
/ssubSUBSCREEN_BODY2:SAPLIWP3:8022/subSUBSCREEN_ITEM_1:SAPLIWO1:0100/ctxtRIWO1-EQUNR").
text = AV_EQ
session.findById("wnd[0]/usr/subSUBSCREEN_MITEM:SAPLIWP3:8002/tabsTABSTRIP_ITEM/tabpT\11
/ssubSUBSCREEN_BODY2:SAPLIWP3:8022/subSUBSCREEN_MAINT_ITEM_TEXT:SAPLIWP3:6005/txtRMIPM-
PSTXT").text = AV_ART & "_ME_INSP_" & AV_ANLG
Jobangebote

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

Offline ScriptMan  
#2 Geschrieben : Mittwoch, 12. Mai 2021 06:04:44(UTC)
ScriptMan

Beiträge: 288
Hallo Dawyqui,

lege deine Daten stattdessen in eine Excel-Mappe (z.B. MeineDaten.xlsx) und zeichne das Skript so auf, damit jeder Datensatz aus Excel in einer zu durchlaufenden Programmschleife ausgeführt werden kann. Wenn das Ende einer Programmschleife nicht wieder automatisch am Anfang der nächsten stehen sollte, müsste in die Skriptaufzeichnung auch noch der Transaktionaufruf aufgenommen werden.

z.B.

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 xclapp = CreateObject("Excel.Application")
Set xclwbk = xclapp.Workbooks.Open("c:\tmp\MeineDaten.xlsx")
set xclsht = xclwbk.Sheets("Tabelle1")

for i = 2 to xclapp.ActiveCell.SpecialCells(11).Row
for j = 1 to xclapp.ActiveCell.SpecialCells(11).Column
if j=1 then AV_ANLG = xclsht.Cells(i,j).Value
if j=2 then AV_ART = xclsht.Cells(i,j).Value
if j=3 then AV_TP = xclsht.Cells(i,j).Value
if j=4 then AV_EQ = xclsht.Cells(i,j).Value
next
session.findById("wnd[0]/usr/subSUBSCREEN_HEAD:SAPLIWP3:6000/txtRMIPM-WPTXT").text = AV_ART & "_" & AV_ANLG
session.findById("wnd[0]/usr/subSUBSCREEN_MITEM:SAPLIWP3:8002/tabsTABSTRIP_ITEM/tabpT\11
/ssubSUBSCREEN_BODY2:SAPLIWP3:8022/subSUBSCREEN_ITEM_1:SAPLIWO1:0100/ctxtRIWO1-TPLNR").text = AV_TP
session.findById("wnd[0]/usr/subSUBSCREEN_MITEM:SAPLIWP3:8002/tabsTABSTRIP_ITEM/tabpT\11
/ssubSUBSCREEN_BODY2:SAPLIWP3:8022/subSUBSCREEN_ITEM_1:SAPLIWO1:0100/ctxtRIWO1-EQUNR").text = AV_EQ
session.findById("wnd[0]/usr/subSUBSCREEN_MITEM:SAPLIWP3:8002/tabsTABSTRIP_ITEM/tabpT\11
/ssubSUBSCREEN_BODY2:SAPLIWP3:8022/subSUBSCREEN_MAINT_ITEM_TEXT:SAPLIWP3:6005/txtRMIPM-PSTXT").text = AV_ART & "_ME_INSP_" & AV_ANLG
. . .
'Hier könnte ein möglicher Rest des VBScriptes stehen.
next
msgbox "Alle " & cstr(xclapp.ActiveCell.SpecialCells(11).Row - 1) & " Excel-Zeilen sind verarbeitet worden."

Set xclwbk = Nothing
Set xclsht = Nothing
xclapp.Quit
set xclapp = Nothing

Grüße, ScriptMan
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 / Datenschutz -