Um ein Skript durch die Verwendung eines Makros auszuführen, erstellen Sie das Makro in Visual Basic for Applications (VBA).
- Öffnen Sie die Datendatei, die mit dem Skript verknüpft ist, welches Sie ausführen möchten.Anmerkung: Vergewissern Sie sich, dass Sie eine Datei mit Makros, eine .xlsm-Datei, verwenden.
- Drücken Sie Alt+F11.
- Klicken Sie im VBA-Editor unter Microsoft Excel-Objekte auf das Blatt, welches die Daten enthält, die Sie ausführen möchten.
- Kopieren Sie den unten stehenden Code und fügen Sie ihn in das Fenster ein.
- Ersetzen Sie den Datendateipfad, den Skriptdateipfad und den Blattnamen.
- Klicken Sie auf Speichern und schließen Sie den VBA-Editor.
- Klicken Sie in Excel auf die Registerkarte Ansicht und dann auf Makros.
- Klicken Sie auf das Makro, das ausgeführt werden soll, und klicken Sie anschließend auf Ausführen.
Asynchrone Makroausführung wird unterstützt.
Makros
Ein veröffentlichtes Skript ausführen
- Add-In-Objekte definieren.
Dim StudioMacrosAddin, StudioMacros
- Add-In-Objekt aus Excel erhalten.
Set StudioMacrosAddin = Application.COMAddIns.Item("WinshuttleStudioMacros.AddinModule")
- COM-Objekt von Add-In-Objekt erhalten.
Set StudioMacros = StudioMacrosAddin.Object.Macros
- Die auszuführende veröffentlichte Datei auswählen und weitere Ausführungseigenschaften definieren.
Dim StudioMacros.PublishedFile = "Change Material-MM02"
- Das veröffentlichte Skript öffnen.
StudioMacros.OpenPublishedScript
- AddinObject ausführen, um das Skript auszuführen.
StudioMacros.RunScript
Ein vorhandenes GUI für HTML-Skript ausführen
- Add-In-Objekte definieren.
Dim StudioMacrosAddin, StudioMacros
- Add-In-Objekt aus Excel erhalten.
Set StudioMacrosAddin = Application.COMAddIns.Item("WinshuttleStudioMacros.AddinModule")
- COM-Objekt von Add-In-Objekt erhalten.
Set StudioMacros = StudioMacrosAddin.Object.Macros
- Wählen Sie das GUI für HTML-Skript aus, das ausgeführt werden soll, und definieren Sie die Ausführungseigenschaften (siehe Eigenschaften eines GUI für HTML-Add-In-Objekts).
Im Folgenden wird die Lösung lokal ausgeführt: Dim strShuttleFile = "C:\Users\Normal_Tx_Macro.txr" Im Folgenden wir die Lösung von Evolve ausgeführt: StudioMacros.LibraryName = "Transaction" Für von Evolve eingereichte Lösungen auf Lösungsname festlegen. strShuttleFile = "Manage Product Master Data"
- Das auszuführende Skript öffnen.
StudioMacros.OpenScript (strShuttleFile)
- AddinObject ausführen, um das Skript auszuführen.
StudioMacros.RunScript
Eigenschaften für ein GUI für HTML-Add-In-Objekt
Ausführungseinstellungen oder erweiterte Ausführungsoptionen, die im Skript eingestellt sind, werden während der Ausführung des Makros nicht berücksichtigt. Diese müssen über die verschiedene Eigenschaften eingestellt werden, die für das Add-In-Objekt eingeblendet wurden.
Eigenschaft/Funktion | Wert(e)/Parameter | Beschreibung |
---|---|---|
PublishedFile |
Beschreibung des veröffentlichten Skripts |
Wählt die auszuführende, veröffentlichte Datei aus |
OpenPublishedScript |
NV |
Öffnet das veröffentlichte Skript |
OpenScript() |
Skriptdateipfad |
Öffnet das auszuführende Skript |
LibraryName | NV | Öffnet die Bibliothek mit der Lösung |
StartRow |
Zeilenanzahl |
Excel-Zeile, von der ab der Datenupload beginnen soll |
EndRow |
Zeilenanzahl |
Letzte Excel-Zeile, von der Daten hochgeladen werden sollen |
WriteHeader |
NV |
Schreibt während der Ausführung Kopfzeilen |
LogColumn |
Spalte/Zelle: |
Zeile oder Zelle, in die die Ausführungsprotokolle geschrieben werden sollen |
SheetName |
Name des Blattes |
Name des Blattes, der für die Ausführung verwendet werden soll |
RunReason |
Ausführungsgrund-String |
Einen Grund für diese Ausführung angeben |
RunSelectedRows |
NV |
True: Es werden nur die in Excel ausgewählten Zeilen ausgeführt |
RunFilteredRows |
NV |
True: Es werden nur die in Excel angezeigten Zeilen ausgeführt |
RunType |
0 – Angegebenen Bereich ausführen 2 – Erste fünf Zeilen ausführen 3 – Nur Zeilen mit Fehlern ausführen 4 – Nur nicht verarbeitete Zeilen ausführen 7 – Angegebenen Bereich validieren 8 – Ersten fünf Zeilen validieren 9 – Nur Fehlerzeilen validieren 10 – Nur nicht verarbeitete Zeilen validieren 15 – Nicht verarbeitete Zeilen und Fehlerzeilen ausführen 16 – Nicht verarbeitete Zeilen und Fehlerzeilen validieren |
Wählen Sie eine Ausführungsart aus den möglichen Werten aus
|
RunScript |
NV |
Skript ausführen |
SyncCall |
NV |
True – Das Skript wird synchron ausgeführt |
Beispielcode: Ein veröffentlichtes SAP GUI-Skript ausführen
Dieser Beispielcode wird mit dem Ausführungstyp „Fehlerzeilen und unbearbeitete Zeilen ausführen“ aktualisiert.
Sub RunPublishedTXRfile() '---------------------------------------------- ' Macro to use WinshuttleStudioMacros addin with code '---------------------------------------------- ' ' RunPublishedfile Macro ' ' Dim StudioMacrosAddin, StudioMacros On Error GoTo ErrHandler ' GET ADDIN OBJECT FROM EXCEL Set StudioMacrosAddin = Application.COMAddIns.Item("WinshuttleStudioMacros.AddinModule") If StudioMacrosAddin Is Nothing Then MsgBox "Unable to initialize object of WinshuttleStudioMacros.AddinModule addin" Exit Sub End If ' Get com object from addin object Set StudioMacros = StudioMacrosAddin.Object.Macros If StudioMacros Is Nothing Then MsgBox "Unable to initialize com object of Macros" Exit Sub End If ' Select the published file to Run StudioMacros.PublishedFile = "Change Material-MM02_MacroTest" StudioMacros.StartRow = 2 StudioMacros.EndRow = 6 ' Set True to write headers while Run StudioMacros.WriteHeader = True 'StudioMacros.LogColumn = "H" 'StudioMacros.SheetName = "Sheet2" 'StudioMacros.ConnectionName = "S23" ' Set RunReason to provide reason for run. StudioMacros.RunReason = "Run Reason" 'StudioMacros.RunSelectedRows = True 'StudioMacros.RunFilteredRows = True ' RunSpecifiedRange = 0, ' RunFirstFiveRows = 2, ' RunOnlyErrorRows = 3, ' RunOnlyUnProcessedRows = 4, ' ValidateSpecifiedRange = 7, ' ValidateFirstFiveRows = 8, ' ValidateOnlyErrorRows = 9, ' ValidateOnlyUnProcessedRows = 10, ' RunUnProcessedAndErrorRows=15, ' ValidateUnProcessedAndErrorRows=16, StudioMacros.RunType = 0 ' Call the Run Function to open published script StudioMacros.OpenPublishedScript ' Call the Run Function to run script StudioMacros.RunScript Exit Sub ErrHandler: MsgBox Err.Description End Sub
Beispielcode: Ein vorhandenes SAP GUI-Skript ausführen
Sub RunNormalTXRfile() '---------------------------------------------- ' Macro to use WinshuttleStudioMacros addin with code '---------------------------------------------- ' ' RunPublishedfile Macro ' Dim StudioMacrosAddin, StudioMacros On Error GoTo ErrHandler ' GET ADDIN OBJECT FROM EXCEL Set StudioMacrosAddin = Application.COMAddIns.Item("WinshuttleStudioMacros.AddinModule") If StudioMacrosAddin Is Nothing Then MsgBox "Unable to initialize object of WinshuttleStudioMacros.AddinModule addin" Exit Sub End If ' Get com object from addin object Set StudioMacros = StudioMacrosAddin.Object.Macros If StudioMacros Is Nothing Then MsgBox "Unable to initialize com object of Macros" Exit Sub End If
StudioMacros.StartRow = 2 StudioMacros.EndRow = 0 ' Set True to write headers while Run StudioMacros.WriteHeader = True 'StudioMacros.LogColumn = "H" 'StudioMacros.SheetName = "Sheet2" 'StudioMacros.ConnectionName = "S23" ' Set RunReason to provide reason for run. StudioMacros.RunReason = "Run Reason" 'StudioMacros.RunSelectedRows = True 'StudioMacros.RunFilteredRows = True ' RunSpecifiedRange = 0, ' RunFirstFiveRows = 2, ' RunOnlyErrorRows = 3, ' RunOnlyUnProcessedRows = 4, ' ValidateSpecifiedRange = 7, ' ValidateFirstFiveRows = 8, ' ValidateOnlyErrorRows = 9, ' ValidateOnlyUnProcessedRows = 10, ' RunUnProcessedAndErrorRows=15, ' ValidateUnProcessedAndErrorRows=16, StudioMacros.RunType = 0 ' Set in case of evolve subitted file StudioMacros.LibraryName = "Transaction" ' Set it to Solution Name in case of evolve submitted file ' For local File,set strShuttleFile to local file path strShuttleFile = "Change Material-MM02" ' Call the Run Function to open specified script StudioMacros.OpenScript (strShuttleFile) ' Call the Run Function to run script StudioMacros.RunScript Exit Sub ErrHandler: MsgBox Err.Description End Sub
Bekannte Probleme
- Während Sie Makros verwenden, sollten die Automate Add-Ins nicht geladen werden (Sie sollten nicht bei Evolve/Studio Manager angemeldet sein). Die Automate Add-Ins können aktiviert werden.
- Die Startzeile ist immer 2, außer Sie geben eine andere Zeile an.
- RunSelectedRows und RunFilteredRows sind zwei sich gegenseitig ausschließende Optionen. Das Skript wird die zuletzt aktivierte Option verwenden.
- Datendateien dürfen nicht den Datenprüfungsworkflow anwenden, um durch Makros im Evolve/Studio Manager-Modus ausgeführt zu werden.
- Das Speichern in Studio Manager funktioniert nicht, wenn ein Makro dazu verwendet wird, die Datendatei im Studio Manager-Modus auszuführen.