Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Preencher Formulario Após consulta

A Web está aí, não há como negar. Ela é onipresente em praticamente toda operação eletrônica realizada nos dias de hoje. Como não podia ser diferente, o Excel, ferramenta máxima para analistas e profissionais das mais diversas áreas do mercado precisa estar alinhado com esta necesssidade. E ele está! Neste forum, o debate é focado em expor dúvidas, sugestões, modelos de código e exemplos de uso do Excel na Integração com tecnologias Web.
Rzor
Acabou de chegar
Acabou de chegar
Mensagens: 5
Registrado em: Ter Jan 05, 2016 4:21 pm

Preencher Formulario Após consulta

Mensagem por Rzor »

Boa tarde,

Estou tentando preencher um formulário após uma consulta em um site web , porém não tive sucesso até o momento alguém pode me ajudar nesta situação sou leigo em VBA.


Segue o que escrevi até agora.

Sub OpenInternt()


Set Internet = New InternetExplorer
Internet.Navigate "http://do.rminfraestrutura.com.br/porta ... rFormLote/"
Internet.Visible = True

'aguarda carregamento de pagina
While Internet.Busy
DoEvents
Wend

'consutla protocolo

Internet.Document.All.Item("protocolos").Value = Range("A2")

'Faz a consulta clicando no botão


Internet.Document.All.Item("frmBase").Submit


Internet.Document.All.Item("protocolos").Value = Range("K2")


End Sub


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Mikel Silveira Fraga
Jedi
Jedi
Mensagens: 1173
Registrado em: Sex Mai 27, 2011 3:27 pm
Localização: Governador Valadares - MG
Contato:

Re: Preencher Formulario Após consulta

Mensagem por Mikel Silveira Fraga »

Rzor, boa noite e seja bem vindo ao fórum.

Analisando o código que você enviou, fiquei um pouco perdido com as informações, como por exemplo:

- A linha de comando abaixo esta sendo informada duas vezes, sendo uma no início do código e a outra no final;

Código: Selecionar todos

nternet.Document.All.Item("protocolos").Value = Range("A2")
- Como você esta utilizando a sequência de comandos Document.All.Item(), fica difícil de identificar se o nome "protocolos" refere-se a um atributo id, name ou class do elemento Html (estrutura de marcação do site). Se não me engando, quando é utilizado All.Item(), ele busca o id por padrão, mas o ideal seria realizar o direcionamento deste como Document.getElementById (para atributo id) ou Document.getElementByName (para o atributo name), por exemplo;

- Tentei entrar no endereço informado, mas o mesmo esta com uma Sessão de Login Expirada. Pelo que pude ver, seria necessário um login para testes ou uma cópia da estrutura da página que deseja acessar. Caso não saiba como gerar um arquivos com a estrutura Html da página, você pode seguir a orientação desse link: Interação VBA com Internet Explorer;

- Caso você tenha um modelo da planilha para enviar, ajudaria nesta dúvida.

Fico no aguardo de um retorno.

Abraços e boa noite.


Rzor
Acabou de chegar
Acabou de chegar
Mensagens: 5
Registrado em: Ter Jan 05, 2016 4:21 pm

Re: Preencher Formulario Após consulta

Mensagem por Rzor »

Olá obrigado por responder,

o que eu gostaria de fazer é o seguinte através desta planilha inserir dados após a consulta de um protocolo, essa parte eu consegui fazer, o que eu não consegui fazer foi depois de realizar a consulta do protocolo que então é o momento que aparece o formulário preencher ele.

quanto a ultima linha que me questionou foi falha minha eu repeti ela.


Avatar do usuário
Mikel Silveira Fraga
Jedi
Jedi
Mensagens: 1173
Registrado em: Sex Mai 27, 2011 3:27 pm
Localização: Governador Valadares - MG
Contato:

Re: Preencher Formulario Após consulta

Mensagem por Mikel Silveira Fraga »

Rzor, bom dia.

Como havia dito acima, o problema é não conhecer a estrutura do site que você precisa preencher. Pelo que percebi, deve ser uma ferramenta empresarial, devido o processo de login.

Infelizmente fica muito difícil ajudar as cegas.

Te aconselho dar uma estudada em outros tópicos que mencionam sites públicos, para entender o funcionamento, e então tentar realizar o feito, já que o acesso do mesmo é restrito.

Caso precise de alguma outra ajuda, estamos a disposição.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Rzor
Acabou de chegar
Acabou de chegar
Mensagens: 5
Registrado em: Ter Jan 05, 2016 4:21 pm

Re: Preencher Formulario Após consulta

Mensagem por Rzor »

Bom dia

Eu de novo, consegui fazer funcionar ficou show, só que agora eu preciso fazer ela fazer isso em todas as linhas da planilha até a ultima, resumindo, ela ficar em loop até cadastrar todos os dados.


Avatar do usuário
Mikel Silveira Fraga
Jedi
Jedi
Mensagens: 1173
Registrado em: Sex Mai 27, 2011 3:27 pm
Localização: Governador Valadares - MG
Contato:

Re: Preencher Formulario Após consulta

Mensagem por Mikel Silveira Fraga »

Rzor, bom dia.

Não se preocupe, estamos aqui pra ajudar mesmo. Em relação a realização do loop, pode adaptar o código abaixo:

Código: Selecionar todos

    For iLinha = 2 To Plan1.UsedRange.Rows.Count
    
        If Range("a" & iLinha).Value <> "" Then
           
            Internet.Document.All.Item("protocolos").Value = Range("A" & iLinha)
            'Restante do seu código.
        
        End If
    
    Next iLinha
Dessa forma o cadastro irá passar por todas as linhas até o final dos valores.

Dúvidas, estamos ai. Abraços!!!!


Rzor
Acabou de chegar
Acabou de chegar
Mensagens: 5
Registrado em: Ter Jan 05, 2016 4:21 pm

Re: Preencher Formulario Após consulta

Mensagem por Rzor »

Pode me ajudar novamente preciso saber se a URL esta aberta, se ela já estiver aberta não abre novamente, se não ela abre e inicia o processo, obrigado pela ajuda to gostando do assunto e do fórum.


Rzor
Acabou de chegar
Acabou de chegar
Mensagens: 5
Registrado em: Ter Jan 05, 2016 4:21 pm

Re: Preencher Formulario Após consulta

Mensagem por Rzor »

Boa tarde,

Cara muito obrigado pela sua ajuda, resolvi todas as situações de loop e verificação de pagina, vou postar o código para que se outras pessoas possam usar também. obrigado mesmo da minha parte ficou RESOLVIDO.

Sub OpenInternt()

Dim IE As InternetExplorer

Set IE = New InternetExplorer
IE.Navigate "url"
IE.Visible = True


For iLinha = 2 To Plan1.UsedRange.Rows.Count
If Range("a" & iLinha).Value <> "" Then



'aguarda carregamento de pagina
While IE.Busy
DoEvents
Wend

'consutla protocolo

protocolo = Range("A" & iLinha)
IE.Document.all("protocolos").Value = protocolo


'Faz a consulta clicando no botão
IE.Document.forms("frmBase").submit


While IE.Busy
DoEvents
Wend


'Insere os dados na próxima tela
Status = Range("B" & iLinha)
IE.Document.all("status").Value = Status
prog1 = Range("C" & iLinha)
IE.Document.all.Item("programacaoInicial").Value = prog1
prog2 = Range("D" & iLinha)
IE.Document.all.Item("programacaoFinal").Value = prog2
exec = Range("E" & iLinha)
IE.Document.all("Executor").Value = exec
material1 = Range("F" & iLinha)
IE.Document.all("reservaMaterial").Value = Range("F2")
exec2 = Range("G" & iLinha)
IE.Document.all("executor2").Value = Range("G2")
material2 = Range("H" & iLinha)
IE.Document.all("reservaMaterial2").Value = material2
cgs = Range("I" & iLinha)
IE.Document.all("cgs").Value = cgs
gad = Range("J" & iLinha)
IE.Document.all("gad").Value = gad
cirex = Range("K" & iLinha)
IE.Document.all("cirex").Value = cirex
ro = Range("L" & iLinha)
IE.Document.all("ro").Value = ro
ObsEnc = Range("M" & iLinha)
IE.Document.all("ObsEnc").Value = ObsEnc



IE.Document.forms("frmLote").submit

End If

Next iLinha

End Sub


Avatar do usuário
Mikel Silveira Fraga
Jedi
Jedi
Mensagens: 1173
Registrado em: Sex Mai 27, 2011 3:27 pm
Localização: Governador Valadares - MG
Contato:

Re: Preencher Formulario Após consulta

Mensagem por Mikel Silveira Fraga »

Rzor, bom dia.

Muito bom saber. Se precisar de qualquer coisa, estamos a disposição.

Abraços.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder