VBA

Salvar Relatório do SAP com Programação VBA no Excel

Escrito por Adriano Pataro
em 28/01/2025

Salvar Relatório do SAP com Programação VBA no Excel pode trazer significativa eficiência e consistência ao fluxo de trabalho.

Dependendo da transação do SAP, temos opções diferentes de salvamento. Pode-se atribuir o caminho e o nome do arquivo a uma caixa de diálogo do SAP ou usar o Salvar Como para salvar o relatório que é aberto em Excel.

O procedimento abaixo descreve como configurar um script em VBA para Excel, que interage com o SAP GUI, exporta o relatório salva o arquivo em uma pasta específica com o nome contendo a data e a hora.

Dica: grave o script da transação primeiro, antes de criar a automação com VBA. Com isso, você saberá qual comando usar para salvar o relatório.

Se não sabe gravar o script, veja este artigo.

Salvar Relatório do SAP – usando Salvar Como

Para este exemplo, usarei a transação ME2J. Não entrarei em detalhes sobre os comando para inserção de dados no SAP. A ênfase será nos comandos necessários para salvar o arquivo.

</p>   Public Sub RelatórioME2J() 'Declaração de variáveis e atribuição de valores    Dim Caminho, NomeUsuario, Arquivo As String    Set SapGuiAuto = GetObject("SAPGUI")    Set SapGuiApp = SapGuiAuto.GetScriptingEngine    Set Connection = SapGuiApp.Children(0)    Set Session = Connection.Children(0)    NomeUsuario = Environ$("username")    Caminho = "C:Users" & NomeUsuario & "Downloads"    Arquivo = "Relatório de Pedido (ME2J) " & Format(Now, "dd-mm-yyyy hh-mm") & ".xlsb"<p>

Primeiro estamos declarando as variáveis, inserindo as linhas de código para fazer a conexão com o SAP e atribuindo valores às variáveis.

Environ$(“username”) pega o nome do usuário da máquina.

No Caminho, estou concatenando o local com o nome do usuário. Um exemplo seria: C:Usersadriano.pataroDownloads

E em Arquivo, estou definindo o nome do arquivo concatenado com data e hora (Format(Now, “dd-mm-yyyy hh-mm”) e a extensão do arquivo (“.xlsb”).

Use os comandos de acordo com sua necessidade. Inserir dados, variante, layout etc. Agora vamos ver os comandos para gerar o arquivo Excel

</p>session.findById("wnd[0]/mbar/menu[0]/menu[3]/menu[1]").selectsession.findById("wnd[1]/tbar[0]/btn[0]").presssession.findById("wnd[1]/usr/subSUBSCREEN_STEPLOOP:SAPLSPO5:0150/sub:SAPLSPO5:0150/radSPOPLI-SELFLAG[0,0]").selectsession.findById("wnd[1]/tbar[0]/btn[0]").presssession.findById("wnd[1]/tbar[0]/btn[0]").press<p>

Com estes comandos, acionamos o menu para salvar e configuramos as opções de salvamento.

Ao final, será exibido o relatório no formato Excel. E para finalizar, o comando para Salvar Relatório do SAP:

ActiveWorkbook.SaveAs Caminho & Arquivo, FileFormat:=50

Veja que usei a variável Caminho, que armazena o caminho configurado no início e a variável Arquivo, que contém o nome do arquivo, data e hora.

FileFormat:=50 é para salvar o arquivo no formato xlsb.

Faça o teste e verifique se deu tudo certo.

Salvar Relatório do SAP – usando caixa de diálogo

Vamos a um exemplo de salvar o Salvar Relatório do SAP, usando uma caixa de diálogo. Para este exemplo, usarei a transação FAGLL03.

Estes comando salvam o relatório Excel no caminho especificado, que contém o nome do arquivo, data e hora.

</p>Session.findById("wnd[0]/mbar/menu[0]/menu[3]/menu[1]").Select Session.findById("wnd[1]/tbar[0]/btn[0]").pressSession.findById("wnd[1]/usr/ctxtDY_PATH").Text = Caminho Session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = ArquivoSession.findById("wnd[1]/tbar[0]/btn[0]").pressApplication.Wait Now + TimeValue("00:00:03")<p>

Veja a caixa de diálogo configurada:

Salvar Relatório do SAP

Faça o teste e verifique se deu tudo certo.

Salvar Relatório do SAP – participe

O que achou de Salvar Relatório do SAP? Deixe sua opinião nos comentários.

Se este conteúdo foi relevante para você, convide seus amigos para que eles também fiquem sabendo deste material.

Precisa desta automação na sua empresa? Entre em contato e vamos conversar.

Um abraço e até a próxima.

Compartilhe este conteúdo

Artigos Relacionados

Page [tcb_pagination_current_page] of [tcb_pagination_total_pages]

Adriano Pataro

Meu nome é Adriano Pataro, sou certificado pela Microsoft como Excel Specialist e autor do livro Dominando o Excel 2019. Graduando ciência de dados, trabalho como analista de dados e uso o Excel há mais de 15 anos. Em 2005 resolvi trazer meu conhecimento para a internet e compartilhar com você aqui no meu site e nas redes sociais.

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

Fique por dentro das novidades

Cadastre seu e-mail e receba os conteúdos em primeira mão.

>

Damos valor à sua privacidade

Nós e os nossos parceiros armazenamos ou acedemos a informações dos dispositivos, tais como cookies, e processamos dados pessoais, tais como identificadores exclusivos e informações padrão enviadas pelos dispositivos, para as finalidades descritas abaixo. Poderá clicar para consentir o processamento por nossa parte e pela parte dos nossos parceiros para tais finalidades. Em alternativa, poderá clicar para recusar o consentimento, ou aceder a informações mais pormenorizadas e alterar as suas preferências antes de dar consentimento. As suas preferências serão aplicadas apenas a este website.

Cookies estritamente necessários

Estes cookies são necessários para que o website funcione e não podem ser desligados nos nossos sistemas. Normalmente, eles só são configurados em resposta a ações levadas a cabo por si e que correspondem a uma solicitação de serviços, tais como definir as suas preferências de privacidade, iniciar sessão ou preencher formulários. Pode configurar o seu navegador para bloquear ou alertá-lo(a) sobre esses cookies, mas algumas partes do website não funcionarão. Estes cookies não armazenam qualquer informação pessoal identificável.

Cookies de desempenho

Estes cookies permitem-nos contar visitas e fontes de tráfego, para que possamos medir e melhorar o desempenho do nosso website. Eles ajudam-nos a saber quais são as páginas mais e menos populares e a ver como os visitantes se movimentam pelo website. Todas as informações recolhidas por estes cookies são agregadas e, por conseguinte, anónimas. Se não permitir estes cookies, não saberemos quando visitou o nosso site.

Cookies de funcionalidade

Estes cookies permitem que o site forneça uma funcionalidade e personalização melhoradas. Podem ser estabelecidos por nós ou por fornecedores externos cujos serviços adicionámos às nossas páginas. Se não permitir estes cookies algumas destas funcionalidades, ou mesmo todas, podem não atuar corretamente.

Cookies de publicidade

Estes cookies podem ser estabelecidos através do nosso site pelos nossos parceiros de publicidade. Podem ser usados por essas empresas para construir um perfil sobre os seus interesses e mostrar-lhe anúncios relevantes em outros websites. Eles não armazenam diretamente informações pessoais, mas são baseados na identificação exclusiva do seu navegador e dispositivo de internet. Se não permitir estes cookies, terá menos publicidade direcionada.

Visite as nossas páginas de Políticas de privacidade e Termos e condições.

O site utiliza cookies para melhorar sua experiência de navegação.
Success message!
Warning message!
Error message!