Makros verwenden, um ein Skript auszuführen
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.
Wichtig: 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 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.
- 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.
Hinweis: Vergewissern Sie sich, dass das Excel-Add-In nicht aktiv ist (dass Sie nicht in
Transaction 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
- Wählen Sie die auszuführende, veröffentlichte Datei und definieren Sie die Ausführungseigenschaften (siehe Eigenschaften für ein Transaction Add-In-Objekt).
Dim StudioMacros.PublishedFile = "MM02_MacroTest"
- Das veröffentlichte Skript öffnen.
StudioMacros.OpenPublishedScript
- AddinObject ausführen, um das Skript auszuführen.
StudioMacros.RunScript
Ein bestehendes Transaction 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 auszuführende Transaction Skript und definieren Sie die Ausführungseigenschaften (siehe Eigenschaften für ein Transaction Add-In-Objekt).
Dim strShuttleFile = "C:\Users\Normal_Tx_Macro.txr"
- Das auszuführende Skript öffnen.
StudioMacros.OpenScript (strShuttleFile)
- AddinObject ausführen, um das Skript auszuführen.
StudioMacros.RunScript
Eigenschaften für ein Transaction 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 |
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 |
AlfName |
AutoLogon-Datei |
Name der zu verwendenden automatischen Anmeldung |
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 1 – Ausführen und bei Fehlern anhalten 2 – Ersten fünf Zeilen ausführen 3 – Nur Zeilen mit Fehlern ausführen 4 – Nur nicht verarbeitete Zeilen ausführen 5 – Angegebenen Bereich debuggen 0 – Nur erste Zeile debuggen 0 – Angegebenen Bereich validieren 8 – Ersten fünf Zeilen validieren 9 – Nur Fehlerzeilen validieren 10 – Nur nicht verarbeitete Zeilen validieren |
Wählen Sie eine Ausführungsart aus den möglichen Werten aus |
RunScript |
NV |
Skript ausführen |
Beispielcode: Ein bestehendes Transaction Skript ausführen
Sub RunNormalTXRfile() '---------------------------------------------- ' Makro zur Verwendung des WinshuttleStudioMacros-Addins mit Code '---------------------------------------------- ' ' RunPublishedfile.Makro Dim StudioMacrosAddin, StudioMacros On Error GoTo ErrHandler ' RUFEN SIE DAS ADD-IN-OBJEKT AUS EXCEL AB Set StudioMacrosAddin = Application.COMAddIns.Item("WinshuttleStudioMacros.AddinModule") If StudioMacrosAddin Is Nothing Then MsgBox "Nicht in der Lage, das Objekt WinshuttleStudioMacros.AddinModule-Add-in zu initialisieren" Exit Sub End If ' Rufen Sie das COM-Objekt aus dem Add-In-Objekt ab Set StudioMacros = StudioMacrosAddin.Object.Macros If StudioMacros Is Nothing Then MsgBox "Nicht in der Lage, das COM-Objekt der Makros zu initialisieren" Exit Sub End If StudioMacros.StartRow = 2 StudioMacros.EndRow = 0 ' Bei True werden Datenzeilen während der Ausführung geschrieben StudioMacros.WriteHeader = True ' Aktivieren Sie RunReason, um einen Ausführungsgrund bereitzustellen. StudioMacros.RunReason = "Run Reason" 'StudioMacros.RunSelectedRows = True 'StudioMacros.RunFilteredRows = True ' RunSpecifiedRange = 0, ' RunAndStopOnErrors = 1, ' RunFirstFiveRows = 2, ' RunOnlyErrorRows = 3, ' RunOnlyUnProcessedRows = 4, ' DebugSpecifiedRange 5, ' DebugFirstRowOnly = 6, ' ValidateSpecifiedRange = 7, ' ValidateFirstFiveRows = 8, ' ValidateOnlyErrorRows = 9, ' ValidateOnlyUnProcessedRows = 10, StudioMacros.RunType = 0 strShuttleFile = "C:\Users\ssingh\Documents\Winshuttle\Studio\Script\Normal_Tx_Macro.txr" ' Rufen Sie die Ausführungsfunktion ab, um das angegebene Skript zu öffnen StudioMacros.OpenScript (strShuttleFile) ' Rufen Sie die Ausführungsfunktion ab, um das Skript auszuführen StudioMacros.RunScript Exit Sub ErrHandler: MsgBox Err.Description End Sub
|
Bekannte Probleme
- Makros, die in Transaction oder Query v10.x erstellt wurden, werden nicht automatisch in das Studio v11 Format konvertiert. Makros im Studio v11 Format sind nicht mit v10.x kompatibel. Um die Makros auszuführen, müssen Sie manuell konvertiert werden.
- Während Sie Makros verwenden, sollten die Winshuttle Add-Ins nicht geladen werden (Sie sollten nicht bei Foundation angemeldet sein). Die Winshuttle 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 müssen den Data Review Workflow anwenden, um durch Makros im Foundation Modus ausgeführt zu werden.
- In Foundation abzuspeichern funktioniert nicht, wenn ein Makro dazu verwendet wird, eine Datendatei im Foundation Modus auszuführen.