cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Sap script excel selecionar próxima linha vazia.

0 Likes
1,923

Olá amigos, sou novo aqui e estou com dificuldades em executar o script SAPGUI para conectar excel e sap, e transpor as informações corretamente.

Faço requisição pela transação ordem, preenchendo a aba operações colunas 3, 4, 5, 6 e 8 essas informações pego da planilha com script e lanço nas respetivas colunas acima no sap, até aqui beleza.

Na segunda vez, o script grava por cima da mesma linha, ou seja..

Conforme imagem exemplo abaixo, gostaria que o script localize a próxima linha vazia na coluna 8 Txt.breve operação. Para as informações da planilha ser preenchida sempre na próxima linha vazia.

Em resumo, sempre faço requisição na primeira linha vazia, preenchendo as colunas 3, 4, 5, 6 e 8, e depois tendo que selecionar esta mesma linha, para obter o registro gravado.

Acho que esta dúvida é também de outros, agradeço quem pode ajudar. 🙂

Accepted Solutions (1)

Accepted Solutions (1)

0 Likes

Boa Tarde !

Conseguiu resolver ?

Answers (2)

Answers (2)

LiviaGSilva
Newcomer
0 Likes

Bom dia!
Não sei se ainda precisa da resposta, mas eu estava com o mesmo problema descrito por você e consegui recentemente o código abaixo e para o meu caso deu certo.
O código eu consegui no ChatGPT e depois eu ajustei algumas coisas.

LiviaGSilva_0-1741691666857.png

' Encontrar a primeira linha vazia para adicionar um novo e-mail
i = 0
Do While True
On Error Resume Next
Dim emailAtual As String
emailAtual = session.findById("wnd[1]/usr/tblSAPLSZA6T_CONTROL6/txtADSMTP-SMTP_ADDR[0," & i & "]").Text

' Se encontrar um campo vazio, insere o novo e-mail
If Err.Number <> 0 Or emailAtual = "" Then
On Error GoTo 0
Exit Do
End If
i = i + 1 ' Avança para a próxima linha
Loop

' Inserir o novo e-mail na primeira linha disponível
session.findById("wnd[1]/usr/tblSAPLSZA6T_CONTROL6/txtADSMTP-SMTP_ADDR[0," & i & "]").Text = Cells(linha, 2).Value '"ADM@xxxx.COM.BR"
session.findById("wnd[1]/usr/tblSAPLSZA6T_CONTROL6/txtADSMTP-REMARK[3," & i & "]").Text = Cells(linha, 3).Value '"FINANCEIRO"

 

0 Likes

Boa tarde Maicon, ainda não, pode me ajudar?