Makros verwenden, um ein SAP-Skript auszuführen - Automate_Studio - Latest

Automate Studio mit Studio Administrator-Benutzerleitfaden

Product type
Software
Portfolio
Integrate
Product family
Automate
Product
Automate > Automate Studio
Version
Latest
Language
Deutsch
Product name
Automate Studio
Title
Automate Studio mit Studio Administrator-Benutzerleitfaden
Copyright
2024
First publish date
2018
Last updated
2024-09-06
Published on
2024-09-06T16:20:47.967074

Um ein Skript durch die Verwendung eines Makros auszuführen, erstellen Sie das Makro in Visual Basic for Applications (VBA).

  1. Ö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.
  2. Drücken Sie Alt+F11.
  3. Klicken Sie im VBA-Editor unter Microsoft Excel-Objekte auf das Blatt, welches die Daten enthält, die Sie ausführen möchten.
  4. Kopieren Sie den unten stehenden Code und fügen Sie ihn in das Fenster ein.
  5. Ersetzen Sie den Datendateipfad, den Skriptdateipfad und den Blattnamen.
  6. Klicken Sie auf Speichern und schließen Sie den VBA-Editor.
  7. Klicken Sie in Excel auf die Registerkarte Ansicht und dann auf Makros.
  8. Klicken Sie auf das Makro, das ausgeführt werden soll, und klicken Sie anschließend auf Ausführen.
Anmerkung: Vergewissern Sie sich, dass das Excel-Add-In nicht aktiv ist(Das heißt, dass Sie nicht in Connect angemeldet sind).

Asynchrone Makroausführung wird unterstützt.

Makros

Ein veröffentlichtes Skript ausführen

  1. Add-In-Objekte definieren.

    Dim StudioMacrosAddin, StudioMacros

  2. Add-In-Objekt aus Excel erhalten.

    Set StudioMacrosAddin = Application.COMAddIns.Item("WinshuttleStudioMacros.AddinModule")

  3. COM-Objekt von Add-In-Objekt erhalten.

    Set StudioMacros = StudioMacrosAddin.Object.Macros

  4. Die auszuführende veröffentlichte Datei auswählen und weitere Ausführungseigenschaften definieren.

    Dim StudioMacros.PublishedFile = "Change Material-MM02"

  5. Das veröffentlichte Skript öffnen.

    StudioMacros.OpenPublishedScript

  6. AddinObject ausführen, um das Skript auszuführen.

    StudioMacros.RunScript

Ein vorhandenes GUI für HTML-Skript ausführen

  1. Add-In-Objekte definieren.

    Dim StudioMacrosAddin, StudioMacros

  2. Add-In-Objekt aus Excel erhalten.

    Set StudioMacrosAddin = Application.COMAddIns.Item("WinshuttleStudioMacros.AddinModule")

  3. COM-Objekt von Add-In-Objekt erhalten.

    Set StudioMacros = StudioMacrosAddin.Object.Macros

  4. 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"

  5. Das auszuführende Skript öffnen.

    StudioMacros.OpenScript (strShuttleFile)

  6. 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

  1. 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.
  2. Die Startzeile ist immer 2, außer Sie geben eine andere Zeile an.
  3. RunSelectedRows und RunFilteredRows sind zwei sich gegenseitig ausschließende Optionen. Das Skript wird die zuletzt aktivierte Option verwenden.
  4. Datendateien dürfen nicht den Datenprüfungsworkflow anwenden, um durch Makros im Evolve/Studio Manager-Modus ausgeführt zu werden.
  5. Das Speichern in Studio Manager funktioniert nicht, wenn ein Makro dazu verwendet wird, die Datendatei im Studio Manager-Modus auszuführen.