Sélectionner un layout dans une liste SAP GUI Scripting
Introduction
La sélection d'un layout dans une liste SAP est une étape courante dans l'automatisation. Après avoir cliqué sur "sélectionner un layout", vous effectuez un clic droit dans la colonne de gauche, accédez à la recherche et entrez le nom du layout.
Voici deux méthodes pour automatiser cette opération.
Méthode 1 : Étapes à enregistrer pendant la création de macro
Étape 1 - Clic droit
Après avoir cliqué sur le bouton "sélectionner un layout", faites un clic droit dans la colonne de gauche de la liste pour accéder aux options contextuelles.

Sélectionnez "Find..." dans le menu contextuel.

Étape 2 - Fenêtre de recherche
Une fenêtre de recherche apparaît avec des champs spécifiques pour identifier le layout.

Étape 3 - Entrer le nom du layout
Saisissez le nom du layout dans le champ "Terme de recherche" et validez.

Étape 4 - Confirmer la sélection
Le curseur se positionne sur le layout sélectionné. Fermez la fenêtre de recherche en cliquant sur la croix rouge et validez la sélection.
Étape 5 - Layout sélectionné
Le layout est maintenant sélectionné et prêt pour l'export.

Étape 6 - Intégration Excel
Une fois le tableau exporté depuis SAP, intégrez-le directement dans vos fichiers Excel.
Méthode 2 : Insertion de code dans une macro existante
Pour les macros déjà enregistrées, faites un clic droit sur le fichier .vbs, ouvrez avec le Bloc-notes et insérez le code suivant :
objSess.FindById("wnd[0]/tbar[1]/btn[33]").Press
objSess.FindById("wnd[1]/usr/ssubD0500_SUBSCREEN:SAPLSLVC_DIALOG:0501/cntlG51_CONTAINER/shellcont/shell").CurrentCellRow = -1
objSess.FindById("wnd[1]/usr/ssubD0500_SUBSCREEN:SAPLSLVC_DIALOG:0501/cntlG51_CONTAINER/shellcont/shell").SelectColumn "VARIANT"
objSess.FindById("wnd[1]/usr/ssubD0500_SUBSCREEN:SAPLSLVC_DIALOG:0501/cntlG51_CONTAINER/shellcont/shell").ContextMenu
objSess.FindById("wnd[1]/usr/ssubD0500_SUBSCREEN:SAPLSLVC_DIALOG:0501/cntlG51_CONTAINER/shellcont/shell").SelectContextMenuItem "&FIND"
objSess.FindById("wnd[2]/usr/txtGS_SEARCH-VALUE").Text = "/FR_CUT_REPO"
objSess.FindById("wnd[2]/usr/txtGS_SEARCH-VALUE").CaretPosition = 12
objSess.FindById("wnd[2]/tbar[0]/btn[0]").Press
Remplacez /FR_CUT_REPO par le nom de votre layout.