Help Center > Studio v11 Help

Utilisation de macros pour exécuter un script

Pour exécuter un script en utilisant une macro, créez la macro dans VBA (Visual Basic for Applications).

  1. Ouvrez le fichier de données associé au script à exécuter.

    Important : veillez à utiliser un fichier prenant en charge les macros ou .xlsm.

  2. Appuyez sur Alt+F11.
  3. Dans l'éditeur VBA Editor, sous Objets Microsoft Excel, double-cliquez sur le feuille qui contient les données à exécuter.
  4. Copiez et collez le code en dessous dans la fenêtre.
  5. Remplacez le chemin de fichier de données, le chemin du fichier script, le nom de feuille et le nom de connexion automatique en dessous par les informations de vos fichiers et votre nom de connexion automatique.
  6. Cliquez sur Enregistrer et fermez l'éditeur VBA.
  7. Dans Excel, cliquez sur l'onglet Afficher puis sur Macros.
  8. Cliquez sur la macro à exécuter, puis sur Exécuter.

Remarque : vérifiez que le module complémentaire Excel n’est pas actif (que vous n’êtes pas connecté à Foundation).

Macros Transaction

Exécuter un script publié

  1. Définir des objets Addin.

    Dim StudioMacrosAddin, StudioMacros

  2. Obtenez un objet Addin depuis Excel.

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

  3. Obtenez un objet COM depuis un objet Addin.

    Set StudioMacros = StudioMacrosAddin.Object.Macros

  4. Sélectionnez le fichier publié à exécuter et définissez d'autres propriétés d'exécution (voir Propriétés d'un objet Transaction Addin).

    Dim StudioMacros.PublishedFile = "MM02_MacroTest"

  5. Ouvrez le script publié.

    StudioMacros.OpenPublishedScript

  6. Exécutez AddinObject pour exécuter le script.

    StudioMacros.RunScript

Exécuter un script Transaction existant

  1. Définir des objets Addin.

    Dim StudioMacrosAddin, StudioMacros

  2. Obtenez un objet Addin depuis Excel.

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

  3. Obtenez un objet COM depuis un objet Addin.

    Set StudioMacros = StudioMacrosAddin.Object.Macros

  4. Sélectionnez le script Transaction à exécuter et définissez d'autres propriétés d'exécution (voir Propriétés d'un objet Transaction Addin).

    Dim strShuttleFile = "C:\Users\Normal_Tx_Macro.txr"

  5. Ouvrez le script à exécuter.

    StudioMacros.OpenScript (strShuttleFile)

  6. Exécutez AddinObject pour exécuter le script.

    StudioMacros.RunScript

Propriétés d'un objet Transaction Addin

Les paramètres d'exécution ou les options d'exécution avancées définies dans le script ne sont pas respectés pendant l'exécution de la macro. Vous devez les définir en utilisant les propriétés exposées pour l'objet Add-in.

Propriété/Fonction

Valeur(s)/Paramètre

Description

PublishedFile

Description d'un script publié

Sélectionne le fichier publié à exécuter

OpenPublishedScript

S/O

Ouvre le script publié

OpenScript()

Chemin du fichier script

Ouvre le script à exécuter.

StartRow

Numéro de ligne

Ligne Excel à partir de laquelle l'envoi des données doit commencer

EndRow

Numéro de ligne

Dernière ligne Excel à partir de laquelle les données doivent être envoyées

WriteHeader

S/O

Écrire les en-têtes pendant l'exécution

LogColumn

Colonne/Cellule

Colonne ou cellule dans laquelle les journaux doivent être écrits

SheetName

Nom de la feuille

Nom de la feuille à utiliser pour l'exécution

AlfName

Fichier de connexion automatique

Nom de la connexion automatique à utiliser

RunReason

Chaîne de raison d'exécution

Spécifier la raison de cette exécution

RunSelectedRows

S/O

Vrai – Exécution uniquement des lignes sélectionnées dans Excel

RunFilteredRows

S/O

Vrai – Exécution uniquement des lignes affichées dans Excel

RunType

0 – Exécuter la plage définie

1 – Exécuter et arrêter en cas d'erreurs

2 – Exécuter les cinq premières lignes

3 – Exécuter uniquement les lignes erronées

4 – Exécuter uniquement les lignes non traitées

5 – Déboguer la plage définie

6 – Déboguer uniquement la première ligne

7 – Valider la plage définie

8 – Valider les cinq premières lignes

9 – Valider uniquement les lignes erronées

10 – Valider uniquement les lignes non traitées

Sélectionner le type d'exécution dans les valeurs possibles

RunScript

S/O

Exécuter le script

Exemple de code : Exécuter un script Transaction existant

  Sub RunNormalTXRfile() '---------------------------------------------- ' Macro pour utiliser le complément WinshuttleStudioMacros avec le 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 ' Set RunReason to provide reason for run. 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" ' 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 

Problèmes connus

  1. Les macros créées ans Transaction ou Query v10.x ne sont pas converties automatiquement dans le format Studio v11. Les macros dans le format Studio v11 ne sont pas compatibles avec v10.x. Pour pouvoir les exécuter, vous devez les convertir manuellement.
  2. Lorsque vous utilisez des macros, les compléments Winshuttle ne doivent pas être chargés (vous ne devez pas être connecté à Foundation). Les compléments Winshuttle peuvent être activés.
  3. La ligne de début est toujours la ligne 2 si vous ne définissez pas une ligne différente.
  4. Les options RunSelectedRows et RunFilteredRows s'excluent mutuellement. Le script utilisera la dernière définie.
  5. Les fichiers de données doivent utiliser le workflow de vérification des données à exécuter en utilisant les macros en mode Foundation.
  6. Enregistrer dans Foundation ne fonctionne pas lorsqu’une macro est utilisée pour exécuter le fichiers de données en mode Foundation.