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.Remarque : 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.
Les exécutions de macro asynchrone sont prises en charge.
Macros
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.
Dim StudioMacros.PublishedFile = "Manage Product Master Data_MacroTest"
- Ouvrez le script publié.
StudioMacros.OpenPublishedScript
- Exécutez AddinObject pour exécuter le script.
StudioMacros.RunScript
Exécution d'un script SAP Fiori® 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 SAP Fiori® à exécuter et définissez les autres propriétés d’exécution (voir Propriétés d’un objet du module complémentaire Fiori).
Ce qui s’applique à l’exécution de la solution localement : Dim strShuttleFile = "C:\Users\Normal_Tx_Macro.txr" Ce qui suit concerne l’exécution de la solution depuis Evolve : StudioMacros.LibraryName = "Transaction" Affecter le nom de la solution pour les solutions soumises depuis Evolve. strShuttleFile = "Manage Product Master Data"
- Ouvrez le script à exécuter.
StudioMacros.OpenScript (strShuttleFile)
- Exécutez AddinObject pour exécuter le script.
StudioMacros.RunScript
Propriétés d’un objet du module complémentaire SAP Fiori®
Les paramètres d’exécution ou les options d’exécution avancées définies dans le script ne sont pas respectées pendant l’exécution de la macro. Ils doivent être définis via les différentes propriétés exposées pour l’objet du module complémentaire.
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 |
LibraryName | S. O. | Ouvre la bibliothèque qui inclut la solution |
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 |
Nom de connexion |
AlfName |
Nom de connexion SAP Exemple StudioMacros.ConnectionName = "S23" Utilisé dans le cas d'Evolve et de Studio Manager. |
RunReason |
Chaîne de raison d'exécution |
Spécifier la raison de cette exécution |
RunSelectedRows |
S. O. |
True : exécution uniquement des lignes sélectionnées dans Excel |
RunFilteredRows |
S. O. |
True : exécution uniquement des lignes affichées dans Excel |
RunType |
0 – Exécuter la plage définie 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 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 15 – Exécuter les lignes non traitées et erronées 16 – Valider les lignes non traitées et erronées |
Sélectionner le type d'exécution dans les valeurs possibles
|
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 SAP Fiori® publié
Cet exemple de code sera mis à jour avec le type d’exécution « Exécuter les lignes erronées et les lignes non traitées ».
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 = "Manage Product Master Data_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
Exemple de code : exécuter un script SAP Fiori® existant
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 = "Manage Product Master Data" ' 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
- Lorsque vous utilisez des macros, les compléments Precisely ne doivent pas être chargés (vous ne devez pas être connecté à Evolve/Studio Manager). Les compléments Automate peuvent être activés.
- La ligne de début est toujours la ligne 2 si vous ne définissez pas une ligne différente.
- Les options RunSelectedRows et RunFilteredRows s'excluent mutuellement. Le script utilisera la dernière définie.
- Les fichiers de données doivent utiliser le workflow de vérification des données à exécuter en utilisant les macros en mode Studio Manager.
- Enregistrer dans Studio Manager ne fonctionne pas lorsqu’une macro est utilisée pour exécuter le fichier de données en mode Studio Manager.