Pour exécuter un script en utilisant une macro, créez la macro dans VBA (Visual Basic for Applications).
- Ouvrez le fichier de données associé au script à exécuter.
vérifiez que vous utiliser un fichier prenant en charge les macros ou .xlsm.
- Appuyez sur Alt+F11.
- Dans VBA Editor, sous Objets Microsoft Excel, double-cliquez sur la feuille qui contient les données à exécuter.
- Copiez et collez le code en dessous dans la fenêtre.
- 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.
- Cliquez sur Enregistrer et fermez VBA Editor.
- Dans Excel, cliquez sur l'onglet Afficher puis sur Macros.
- Cliquez sur la macro à exécuter, puis sur Exécuter.
Vérifiez que le module complémentaire Excel n’est pas actif (que vous n’êtes pas connecté à Connect ).
L’exécution de macro asynchrone est prise en charge.
Macros Query
Exécuter un script publié
- Définissez des objets Addin.
Dim StudioMacrosAddin, StudioMacros
- Obtenez un objet Addin depuis Excel.
Set StudioMacrosAddin = Application.COMAddIns.Item ("WinshuttleStudioMacros.AddinModule")
- Obtenez un objet COM depuis un objet Addin.
Set StudioMacros = StudioMacrosAddin.Object.Macros
- 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 Query Addin).
Dim StudioMacros.PublishedFile = "Table_20150113_150602"
- Ouvrez le fichier script publié.
StudioMacros.OpenPublishedScript
- Exécutez AddinObject pour exécuter le script Query.
StudioMacros.RunScript
Exécutez un script Query existant
- Définissez des objets Addin.
Dim StudioMacrosAddin, StudioMacros
- Obtenez un objet Addin depuis Excel.
Set StudioMacrosAddin = Application.COMAddIns.Item ("WinshuttleStudioMacros.AddinModule")
- Obtenez un objet COM depuis un objet Addin.
Set StudioMacros = StudioMacrosAddin.Object.Macros
- Sélectionnez le script Query à exécuter et définissez d'autres propriétés d'exécution (voir Propriétés d'un objet Query Addin).
Ce qui suit concerne l'exécution du script localement : Dim strShuttleFile = "C:\Table_20140930_143519.qsq" Ce qui suit concerne l'exécution du script à partir de Evolve: StudioMacros.LibraryName= "Query"
Définissez sur Nom de solution pour un fichier soumis à partir d’Evolve. Pour un fichier local, définissez strShuttleFile sur le chemin de fichier local strShuttleFile = "Table_MARA"
- Ouvrez le script à exécuter.
StudioMacros.OpenScript (strShuttleFile)
- Exécutez AddinObject pour exécuter le script Query.
StudioMacros.RunScript
Propriétés d'un objet Query 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 Addin.
Propriété / Fonction | Valeur(s) / Paramètre | Description |
---|---|---|
PublishedFile |
Description d'un fichier publié |
Sélectionne le fichier publié à exécuter |
OpenScript () |
Chemin du fichier script |
Sélectionne le script à exécuter |
OpenPublishedScript |
S. O. |
Ouvre le script publié |
StartRow |
Numéro de ligne |
Ligne Excel à partir de laquelle les enregistrements téléchargés doivent être écrits |
RecordsToFetch |
Nbre d'enregistrements |
Nombre d'enregistrements que doit retourner l'exécution de requête |
WriteHeader |
Vrai/Faux |
Écrire les en-têtes d'association des données téléchargées |
ExtractAllRecords |
Vrai/Faux |
Remplacer RecordsToFetch et extraire tous les enregistrements |
RunReason |
Chaîne de raison d'exécution |
Spécifier la raison de cette exécution |
LogCell |
Cellule |
Cellule dans laquelle les journaux doivent être écrits |
SheetName |
Nom de la feuille |
Nom de la feuille à utiliser pour l'exécution |
ConnName |
Nom de connexion SAP |
Nom de connexion SAP |
RunType |
Type d'exécution |
0 – Exécution pour extraire les enregistrements conformément aux paramètres 1 – Remplacement de RecordsToFetch et téléchargement des 50 premiers enregistrements uniquement |
RunScript |
S. O. |
Exécuter le script |
SyncCall |
S. O. |
True – Exécution du script en mode synchrone |
Exemple de code : exécuter un script Query publié
|
Exemple de code : exécuter un script Query existant
|
Problèmes connus
- Lorsque vous utilisez des macros, les compléments Automate ne doivent pas être chargés (vous ne devez pas être connecté à Evolve). Les compléments Automate peuvent être activés.
- ExtractAllRecords extrait tous les enregistrements, même si le nombre d'enregistrements est supérieur au nombre maximum d'enregistrements pouvant être téléchargés.
- La ligne de début est toujours la ligne 2 si vous ne définissez pas une ligne différente.
- Les fichiers de données ne doivent pas utiliser le workflow de vérification des données à exécuter en utilisant les macros en mode Evolve.
- Enregistrer dans la bibliothèque ne fonctionne pas lorsqu’une macro est utilisée pour exécuter le fichiers de données en mode Evolve.