Estoy tratando de conseguir, en el programa de contabilidad SAP, acceder a sus menús lo más rápidamente posible creando "accesos directos" con macros.
Éste código abre el Sap (cuyo nombre lo coge de la celda activa según la penúltima línea), ingresa el usuario, clave y algunos enter y tabulaciones hasta llegar al campo donde se pone el nombre de lo que se llama transacción (por ejemplo FB03 es para visualizar una factura).
La orientacion que neceisto ahora sería cómo hacer para que desde dentro del programa, o sea, una vez abierto (la macro lo primero que hace es abrirlo), puediera cambiar de transacción suponiendo que las más frecuentes las tuviera escritas en la columna A.
La idea supongo que será crear crear varios Application.SendKeys Retun o Backspace (no sé cual) para volver hasta el menú principal, y desde ahí ir hacia delante hasta la transacción buscada. Pero independientemente los application necesarios, ¿cómo debería empezar el código para que teniendo sap abierto y estando en el menú que estés, llegue a la transacción buscada?
Public Declare Function ShellExecute Lib "Shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Function Abrir(prog_o_file As String)
ShellExecute 0, "Open", prog_o_file, "", "", 1
Application.Wait Now + TimeValue("00:00:02")
Application.SendKeys "~", True
Application.Wait Now + TimeValue("00:00:02")
Application.SendKeys "miusuario", True
Application.SendKeys "{TAB}", True
Application.Wait Now + TimeValue("00:00:01")
Application.SendKeys "miclave", True
Application.SendKeys "~", True
Application.Wait Now + TimeValue("00:00:01")
Application.SendKeys "FB03", True '<---Transacción de sap
Application.SendKeys "~", True
Application.SendKeys "{TAB}", True
Application.SendKeys "ES01", True '<---nº empresa
End Function
Sub AbrirPrograma()
Abrir ActiveCell()
End Sub
[/CODE]
Hola:
Estoy tratando de conseguir, en el programa de contabilidad SAP, acceder a sus menús lo más rápidamente posible creando "accesos directos" con macros.
Éste código abre el Sap (cuyo nombre lo coge de la celda activa según la penúltima línea), ingresa el usuario, clave y algunos enter y tabulaciones hasta llegar al campo donde se pone el nombre de lo que se llama transacción (por ejemplo FB03 es para visualizar una factura).
La orientacion que neceisto ahora sería cómo hacer para que desde dentro del programa, o sea, una vez abierto (la macro lo primero que hace es abrirlo), puediera cambiar de transacción suponiendo que las más frecuentes las tuviera escritas en la columna A.
La idea supongo que será crear crear varios Application.SendKeys Retun o Backspace (no sé cual) para volver hasta el menú principal, y desde ahí ir hacia delante hasta la transacción buscada. Pero independientemente los application necesarios, ¿cómo debería empezar el código para que teniendo sap abierto y estando en el menú que estés, llegue a la transacción buscada?
sap.rar