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

Dowload de arquivo após a janela 'Salvar como'

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.
Marzzona
Acabou de chegar
Acabou de chegar
Mensagens: 4
Registrado em: Ter Nov 30, 2021 8:59 am

Dowload de arquivo após a janela 'Salvar como'

Mensagem por Marzzona »

O seguinte código tem o objetivo de navegar em um site , utilizando um login e senha específicos, para então baixar uma planilha estilo .csv com as informações necessária.

With ie
Application.Wait (Now + TimeValue("0:00:2"))
.Navigate "http://mime.lzt.com.br/relatorio/movimento/"
While .Busy Or .ReadyState < 4: DoEvents: Wend
Application.Wait (Now + TimeValue("0:00:5"))

Set x = ie.document.getElementsByName("tipo_periodo")
x(1).Click
.document.getElementById("id_data_ini").Click

Dim data_inicial As String
data_inicial = LoginData.Cells(2, 11).Value

ie.document.getElementById("id_data_ini").innerText = data_inicial

Dim hoje As String
hoje = LoginData.Cells(3, 11).Value

.document.getElementById("id_data_fim").Click
.document.getElementById("id_data_fim").innerText = hoje

Application.Wait (Now + TimeValue("0:01:00"))
Application.SendKeys "%{S}"

End With
Figura 1.png
Figura 1.png (26.4 KiB) Exibido 4070 vezes
As linhas de código apresentadas servem para esta página (Apresentada na figura acima), onde, inicialmente as informações referentes à data são preenchidas e, posteriormente, é feito um “click” no botão ‘Exibir’. Após a linha que aciona o botão há um tempo para carregar e liberar o download.
Quando o download libera, esta janela auxiliar com a opção de “salvar como” aparece e, até o presente momento, a única forma que encontrei para confirmar o download foi usando a linha Application.SendKeys "%{S}", mas isso é um limitante muito grande no meu caso, pois a internet aqui oscila muito, fazendo com que o tempo carregamento seja variável. Além disso, a quantidade de dados em cada mês é variável também, então pode acontecer de termos uma planilha mais extensa em um determinado mês e outra pequena no próximo. Bem, sabendo que o tempo de download é diferente, pensei que seria possível usar um tempo extremamente grande, na faixa de 1 minuto, mas o problema é que isso apenas deixa o programa mais lento e ineficaz. Eu gostaria de saber se existe alguma forma de saber o momento exato em que a janela aparece.


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.


Nill2016
Colaborador
Colaborador
Mensagens: 32
Registrado em: Qua Mai 09, 2018 11:34 am

Re: Dowload de arquivo após a janela 'Salvar como'

Mensagem por Nill2016 »

Marzzona

Eu acho que não tem como identificar quando a janela vai aparecer, mas você pode usar este método: Selenium – Configurando download automático e caminho do arquivo postado pelo Tomás no blog e ver se funciona para sua necessidade. Segue o link:

https://www.tomasvasquez.com.br/blog/de ... o-arquivo/


Responder