Makros verwenden, um ein Query-Skript auszuführen - Automate_Studio - 20.3

Online-Hilfe zu Automate Studio mit Connect

Product type
Software
Portfolio
Integrate
Product family
Automate
Product
Automate > Automate Studio
Version
20.3
Language
Deutsch
Product name
Automate Studio
Title
Online-Hilfe zu Automate Studio mit Connect
Topic type
Wie kann ich …
Administration
Installation
Referenz
First publish date
2018

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.

    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 unten den Datendateipfad, den Skriptdateipfad, den Blattnamen und den Namen für die automatische Anmeldung mit den Informationen für Ihre Dateien und mit Ihrem Namen für die automatische Anmeldung.
  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 (dass Sie nicht in Connect angemeldet sind).

Anmerkung:

Asynchrone Makroausführung wird unterstützt.

Query 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 wählen und weitere Ausführungseigenschaften definieren (siehe Eigenschaften für ein Query Add-In-Objekt).

    Dim StudioMacros.PublishedFile = "Table_20150113_150602"

  5. Die veröffentlichte Skriptdatei öffnen.

    StudioMacros.OpenPublishedScript

  6. Add-In-Objekt ausführen, um das Query Skript auszuführen.

    StudioMacros.RunScript

Ein bestehendes Query 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. Das auszuführende Query Skript wählen und weitere Ausführungseigenschaften definieren (siehe Eigenschaften für ein Query Add-In-Objekt).

    Im Folgenden wird das Skript lokal ausgeführt:Dim strShuttleFile = "C:\Table_20140930_143519.qsq"Im Folgenden wird das Skript von Evolve ausgeführt: StudioMacros.LibraryName = "Query"

    Für von Evolve übermittelte Datei auf Lösungsname setzen. Für eine lokale Datei legen Sie für „strShuttleFile“ den lokalen Dateipfad fest.strShuttleFile = "Table_MARA"

  5. Das auszuführende Skript öffnen.

    StudioMacros.OpenScript (strShuttleFile)

  6. Add-In-Objekt ausführen, um das Query Skript auszuführen.

    StudioMacros.RunScript

Eigenschaften für ein Query 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 eingestellt werden, indem verschiedene Eigenschaften angewendet werden, die für das Add-In-Objekt eingeblendet wurden.

Eigenschaft/Funktion Wert(e)/Parameter Beschreibung

PublishedFile

Beschreibung der veröffentlichten Datei

Wählt die auszuführende, veröffentlichte Datei aus

OpenScript ()

Skriptdateipfad

Wählt das auszuführende Skript aus

OpenPublishedScript

NV

Öffnet das veröffentlichte Skript

StartRow

Zeilenanzahl

Excel-Zeile, ab der heruntergeladene Datensätze geschrieben werden sollen

RecordsToFetch

Anzahl der Datensätze

Anzahl der Datensätze, die bei der Query Ausführung ausgegeben werden sollen

WriteHeader

Wahr/Falsch

Schreibt Zuordnungskopfzeilen für die heruntergeladenen Daten

ExtractAllRecords

Wahr/Falsch

Überschreibt RecordsToFetch und extrahiert alle Datensätze

RunReason

Ausführungsgrund-String

Einen Grund für diese Ausführung angeben

LogCell

Zelle

Zelle, in die Ausführungsprotokolle geschrieben werden sollen

SheetName

Name des Blattes

Name des Blattes, der für die Ausführung verwendet werden soll

ConnName

SAP-Verbindungsname

SAP-Verbindungsname

RunType

Ausführungsart

0 – Ausführung, um einstellungsgemäß Datensätze einzuholen

1 – RecordsToFetch überschreiben und nur die ersten 50 Datensätze herunterladen

RunScript

NV

Skript ausführen

SyncCall

NV

True – Das Skript wird synchron ausgeführt

 

Beispielcode: Ein veröffentlichtes Query Skript ausführen

 Sub RunPublishedQSQfile() '---------------------------------------------- ' 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 = "Table_20150113_150602"        StudioMacros.StartRow = 2       ' if not set, then records will be fetched as per script settings       StudioMacros.RecordsToFetch = 100        ' True to fetch all records. If set false then StudioMacros.RecordsToFetch will be respected       StudioMacros.ExtractAllRecords = True        ' Set True to write headers while Run       StudioMacros.WriteHeader = True     'StudioMacros.LogCell = "H2"   'StudioMacros.SheetName = "Sheet2"     'StudioMacros.ConnectionName = "w6r-800"       ' Set RunReason to provide reason for run.       StudioMacros.RunReason = "Run Reason"      'Run = 0, RunOnlyFiftyRecords = 1       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 bestehendes Query Skript ausführen

                            Sub RunNormalQsqFile()  '---------------------------------------------- ' Macro to use WinshuttleStudioMacros addin with code '---------------------------------------------- ' ' RunNormalQsqFile 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      ' if not set, then records will be fetched as per script settings       StudioMacros.RecordsToFetch = 100        ' True to fetch all records. If set false then StudioMacros.RecordsToFetch will be respected       StudioMacros.ExtractAllRecords = True        ' Set True to write headers while Run       StudioMacros.WriteHeader = True   'StudioMacros.LogCell = "H2"   'StudioMacros.SheetName = "Sheet2"    'StudioMacros.ConnectionName = "w6r-800"       ' Set RunReason to provide reason for run.       StudioMacros.RunReason = "Run Reason"        'Run = 0, RunOnlyFiftyRecords = 1       StudioMacros.RunType = 0    ' Set in case of evolve subitted file   StudioMacros.LibraryName = "Query"    ' Set it to Solution Name in case of evolve submitted file   ' For local File,set strShuttleFile to local file path       strShuttleFile = "Table_MARA"        '  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 Winshuttle Add-Ins nicht geladen werden (Sie sollten nicht bei Evolve angemeldet sein). Die Winshuttle Add-Ins können aktiviert werden.
  2. ExtractAllRecords ruft alle Datensätze ab, selbst wenn die Anzahl der Datensätze die erlaubte Höchstzahl für herunterzuladende Datensätze übersteigt.
  3. Die Startzeile ist immer 2, außer Sie geben eine andere Zeile an.
  4. Datendateien dürfen den Datenprüfungsworkflow nicht anwenden, um durch Makros im Evolve Modus ausgeführt zu werden.
  5. In der Bibliotek speichern funktioniert nicht, wenn ein Makro dazu verwendet wird, eine Datendatei im Evolve Modus auszuführen.