Seleccionar un layout en una lista con SAP GUI Scripting
Introducción
La selección de un layout en una lista SAP es un paso común en la automatización. Después de hacer clic en "seleccionar layout", haces clic derecho en la columna izquierda, accedes a la búsqueda e ingresas el nombre del layout.
Aquí hay dos métodos para automatizar esta operación.
Método 1: Pasos a grabar durante la creación de macro
Paso 1 - Clic derecho
Después de hacer clic en el botón "seleccionar layout", haz clic derecho en la columna izquierda de la lista para acceder a las opciones del menú contextual.

Selecciona "Find..." en el menú contextual.

Paso 2 - Ventana de búsqueda
Aparece un diálogo de búsqueda con campos específicos para identificar el layout.

Paso 3 - Ingresar el nombre del layout
Ingresa el nombre del layout en el campo "Término de búsqueda" y valida.

Paso 4 - Confirmar selección
El cursor se posiciona sobre el layout seleccionado. Cierra la ventana de búsqueda haciendo clic en la X roja y valida la selección.
Paso 5 - Layout seleccionado
El layout está ahora seleccionado y listo para exportar.

Paso 6 - Integración con Excel
Una vez que la tabla se exporta desde SAP, intégrala directamente en tus archivos Excel.
Método 2: Inserción de código en macros existentes
Para macros ya grabadas, haz clic derecho en el archivo .vbs, abre con el Bloc de notas e inserta el siguiente código:
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
Reemplaza /FR_CUT_REPO con el nombre real de tu layout.