Avalados por :

Como mudar de janela no SAP usando uma macro do Excel VBA

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 18 Vistas
0
Cargando...

Estou tentando fazer com que minha macro existente no Excel VBA, que já funciona bem com o R/3, também mude de janela para manipular uma sessão do APO na qual já iniciei a sessão.

.

Como seleciono/mudo a janela do SAP que a macro está controlando?

Qualquer ajuda ou conselho seria muito apreciado!

Mike

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

1 Respuestas

0
Cargando...

Depois de muitas horas navegando na internet e uma caixa de cerveja, encontrei uma solução que funcionou para a minha aplicação. Pode não ser a mais bonita, mas funciona e consigo alternar entre as janelas (independentemente da ordem em que foram abertas) à vontade.

A seguir, mostro o que montei.

Por favor, sinta-se à vontade para fazer críticas, pois sou muito novo em SAP e VBA e tenho muito a aprender.

Option Explicit

Sub exemplo()

Dim Application, SapGuiAuto, Connection, session

Dim SID, bh1Wnd, ba1Wnd, CollCon, i, CollSes

Set SapGuiAuto = GetObject("SAPGUI")

Set Application = SapGuiAuto.GetScriptingEngine

Set CollCon = Application.Connections()

If Not IsObject(CollCon) Then

Exit Sub

End If

'- Encontrar janelas de APO e R3 -------------------------------------------

For i = 0 To CollCon.Count() - 1

Set Connection = Application.Children(CLng(i))

If Not IsObject(Connection) Then

Exit Sub

End If

Set CollSes = Connection.sessions()

If Not IsObject(CollSes) Then

Exit Sub

End If

Set session = Connection.Children(0)

SID = session.info.SystemName()

If Not IsObject(bh1Wnd) Then

If SID = "BH1" Then Set bh1Wnd = Application.Children(CLng(i)) 'R3

End If

If Not IsObject(ba1Wnd) Then

If SID = "BA1" Then Set ba1Wnd = Application.Children(CLng(i)) 'APO

End If

Next

'- Mudar para a janela do R3 ---------------------

Set Connection = bh1Wnd

Set session = Connection.Children(0)

ë-------------------------------------------------------------------------------

ëcódigo para realizar várias tarefas no R3 vai aqui

ë-------------------------------------------------------------------------------

'----- mudar para a janela do APO ------------------------------------------------------

Set Connection = ba1Wnd

Set session = Connection.Children(0)

ë-------------------------------------------------------------------------------

ëcódigo para realizar várias tarefas no APO vai aqui

ë-------------------------------------------------------------------------------

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?