Pesquisar

Programação VBA - SAP (ME21N - Criação de Pedidos)

19/08/2023 às 08:52

Descrição do Projeto:

Tenho um código que consegue preencher somente as linhas visiveis.. Não estou conseguindo aprimorar para que ele consiga identificar a quantidade de linhas disponiveis na transação e quando ele atingir o máximo, seguir pras próximas linhas disponiveis. Algumém me ajuda?

Option Explicit
Public SapGuiAuto, WScript, msgcol
Public objGui As GuiApplication
Public objConn As GuiConnection
Public session As GuiSession

Sub TESTE2() 'Nome do código

Set SapGuiAuto = GetObject("SAPGUI")
Set objGui = SapGuiAuto.GetScriptingEngine
Set objConn = objGui.Children(0)
Set session = objConn.Children(0)

Dim total_itens, controle_itens, linha_itens, controle_detalhes, linha_detalhes, controle_linhas, linha, valor As Integer
Dim material, QTD, centro, remessa As String
Dim lastRow As Long
linha_itens = 0
linha_detalhes = 0
controle_itens = 1
controle_detalhes = 0
valor = 0
total_itens = Range("V" & Rows.Count).End(xlUp).Row - 2
lastRow = Sheets("STO").Cells(Sheets("STO").Rows.Count, 4).End(xlUp).Row
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("STO")

session.FindById("wnd[0]/tbar[0]/okcd").Text = "/Nme21n"
session.FindById("wnd[0]").sendVKey 0
session.FindById("wnd[0]/usr/subSUB0:SAPLMEGUI:" & Mid(session.ActiveWindow.SystemFocus.ID, 49, 4) & "/subSUB0:SAPLMEGUI:0030/subSUB1:SAPLMEGUI:1105/ctxtMEPO_TOPLINE-SUPERFIELD").Text = ThisWorkbook.Sheets("STO").Range("J2").Value

For linha = 2 To lastRow
material = "wnd[0]/usr/subSUB0:SAPLMEGUI:" & Mid(session.ActiveWindow.SystemFocus.ID, 49, 4) & "/subSUB2:SAPLMEVIEWS:1100/subSUB2:SAPLMEVIEWS:1200/subSUB1:SAPLMEGUI:1211/tblSAPLMEGUITC_1211/ctxtMEPO1211-EMATN[4," & CStr(valor) & "]"
QTD = "wnd[0]/usr/subSUB0:SAPLMEGUI:" & Mid(session.ActiveWindow.SystemFocus.ID, 49, 4) & "/subSUB2:SAPLMEVIEWS:1100/subSUB2:SAPLMEVIEWS:1200/subSUB1:SAPLMEGUI:1211/tblSAPLMEGUITC_1211/txtMEPO1211-MENGE[6," & CStr(valor) & "]"
remessa = "wnd[0]/usr/subSUB0:SAPLMEGUI:" & Mid(session.ActiveWindow.SystemFocus.ID, 49, 4) & "/subSUB2:SAPLMEVIEWS:1100/subSUB2:SAPLMEVIEWS:1200/subSUB1:SAPLMEGUI:1211/tblSAPLMEGUITC_1211/ctxtMEPO1211-EEIND[9," & CStr(valor) & "]"
centro = "wnd[0]/usr/subSUB0:SAPLMEGUI:" & Mid(session.ActiveWindow.SystemFocus.ID, 49, 4) & "/subSUB2:SAPLMEVIEWS:1100/subSUB2:SAPLMEVIEWS:1200/subSUB1:SAPLMEGUI:1211/tblSAPLMEGUITC_1211/ctxtMEPO1211-NAME1[15," & CStr(valor) & "]"
On Error Resume Next
session.FindById(material).Text = ThisWorkbook.Sheets("STO").Range("D" & linha).Value
session.FindById(QTD).Text = ThisWorkbook.Sheets("STO").Range("F" & linha).Value
session.FindById(remessa).Text = ThisWorkbook.Sheets("STO").Range("H" & linha).Value
session.FindById(centro).Text = ThisWorkbook.Sheets("STO").Range("I" & linha).Value
On Error GoTo 0
valor = valor + 1
Next linha

Arquivos anexados:

Entre ou Cadastre-se para ver os arquivos anexados.

Atividades do cliente nesse projeto:

Última visualização: 21/08/2023 às 11:33

Última interação: 19/08/2023 às 11:29

Informações adicionais

Categoria: Web, Mobile & Software
Subcategoria: Desenvolvimento Web
Orçamento: Aberto
Nível de experiência: Iniciante
Visibilidade: Público
Propostas: 1
Interessados: 2
Valor Mínimo: R$ 50,00

Cliente

Freelancer vencedor

Propostas (1)
  • Freelancer novo Promovida Aceita Aceita Rejeitada

    Submetido: | Oferta: Privado | Duração estimada: Privado

Nenhuma proposta foi encontrada.

Carregando...
Projetos semelhantes no 99Freelas

Desenvolvedor(a) Laravel sênior - Mini ERP (PHP/Blade/MySQL) - Estamos migrando nossa operação interna de pedidos - hoje em planilha Excel de 27 abas e robôs Python que sobem vendas para o SIGE Cloud - para um Mini ERP web em Laravel. Proc...

Desenvolvedor(a) Laravel sênior para sistema web com UI estilo planilha - Estamos migrando nossa operação interna de cotações - hoje em planilhas Google + executáveis Python desktop + MySQL - para um sistema web único. Procuramos...

Plataforma SaaS para consultoria fitness feminina premium - Plataforma SaaS sob medida para uma consultora fitness, atendendo três audiências em áreas dedicadas: visitantes (landing pública para captação), a consultor...

Website com área de agendamento para clínica de estética - Somos uma clínica de estética premium localizada em São Paulo e buscamos um(a) freelancer ou agência para desenvolver um website moderno, sofisticado e com foco em conver...

Site para academia de karatê com painel administrativo - Preciso de um site para academia de karatê com botão do WhatsApp para que os interessados entrem em contato e agendem aula experimental gratuita. O site deve mostrar os planos da acade...

Carregando...

Carregando...

Pesquisar

FREELANCERS
PROJETOS
Ocorreu um erro inesperado. Caso o erro persista, entre em contato conosco através do e-mail suporte@99freelas.com.br.