Como ejecutar transaccion automatica segundo plano

Saludos.
No se si el titulo es muy orientativo de la información que les solicito.
Me explicaré mejor ahora:
Tengo una macro en excel que se conecta automáticamente con SAP y ejecuta una transacción pre-asignada y la ejecuta varias veces cambiando diversos parámetros que se le van pasando.

Esta aquí todo funciona bien.

Yo lo que deseo es que dicho proceso se realice en un segundo plano, o sea, que no se estén viendo como se van rellenando los campos correspondientes. que solo se vea la hoja de excel desde donde lanzo la macro.

El codigo de conexion es:

Set SapGui = GetObject("SAPGUI")
Set Appl = SapGui.GetScriptingEngine
Set Connection = Appl.Openconnection("XXXXXXX", True)
Set Session = Connection.Children(0)
Session.findById("wnd[0]/usr/txtRSYST-BNAME").Text = User
Session.findById("wnd[0]/usr/pwdRSYST-BCODE").Text = Pass
Session.findById("wnd[0]/usr/txtRSYST-LANGU").Text = "EN"
Session.findById("wnd[0]").sendVKey 0
.......

Con poder mantener la ventana de la aplicación minimizada me llegaría.

Gracias de antemano por la ayuda.

Y si agregas un
Application.ScreenUpdating = False al principio del macro?
Y antes del end, agregas un
Application.ScreenUpdating = True ?

Probaste?

Si, ya lo he probado.
Antes del código que indiqué antes tengo puesto esto:

Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.EnableEvents = False
Application.EnableAnimations = False

pero no le hace caso, cuando hago la llamada, me abre la ventana de SAP y me muestra la carga automática de los datos y el resto de todos los procesos los veo en primer plano.

Mmm no sé si esto es algo que tenga que ver con SAP, o algo propio del excel.
Qué versión de excel es?

Hola amigo, si lo que quieres minimizar es tu ventana de Excel la opción es esta:

Application.WindowState = xlMinimized

Si quieres minimizar la de SAP

SapGui.Visible = False

despues de

Saludos.

1 me gusta

Saludos.
Lo que quiero es que la ventana de excel se mantenga abierta y la macro se lance oculta, o sea, que no se vea la ventana de SAP.
He probado con lo que indicas: SapGui.Visible = False pero me indica que no existe esa propiedad para ese objeto.
La prueba la realice con el siguiente codigo:

Sub LoginSAP()
User = InputBox(“SAP User ID”)
Pass = Module2.InputBoxDK(“Please, enter your SAP password”)
If FindProcess(“saplogon.exe”) Then
Set SapGui = GetObject(“SAPGUI”)
Else
Call Shell(“C:\Program Files (x86)\SAP\FrontEnd\SAPGUI\saplogon.exe”, vbMinimizedFocus)
Esperar 3 'funcion para esperar 3 segundos antes de continuar
Set SapGui = GetObject(“SAPGUI”)
End If
SapGui.Visible = False ’ Error 438 El objeto no admite esta propiedad o metodo.
Set Appl = SapGui.GetScriptingEngine
Set Connection = Appl.Openconnection(“Tenaris - PROD”, True)
Set Session = Connection.Children(0)
Session.findById(“wnd[0]/usr/txtRSYST-BNAME”).Text = User
Session.findById(“wnd[0]/usr/pwdRSYST-BCODE”).Text = Pass
Session.findById(“wnd[0]/usr/txtRSYST-LANGU”).Text = "EN"
Session.findById(“wnd[0]”).sendVKey 0
End Sub

El error lo marca en la linea que te pongo en negrita

La versión de Excel es la 2010 de 32 bits. La de SAP es 730.