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

Consulta VBA - Site MDA

Esclarecimentos e dúvidas sob o Modelo de Aplicativo de Cadastro em VBA no Microsoft Excel publicado no site e blog http://www.tomasvasquez.com.br
genebaldorios
Colaborador
Colaborador
Mensagens: 16
Registrado em: Qua Jul 19, 2017 10:59 pm

Consulta VBA - Site MDA

Mensagem por genebaldorios »

Prezados, boa-noite!

Por gentileza, preciso da ajuda de vocês, se possível, para adaptar uma macro para fazer consultas MDA em lote. A opção de marcar a UF (state) é uma lista suspesa e as opcoes_contribuicao_icms tem duas opções (sim ou não) e o código MDA é preenchido na última caixa e depois se clica no botão "Avançar". To tentando adaptar o código abaixo, mas não conseguir avançar.

'Inclui referência ao Microsoft Internet Controls
Sub lReferenciaIE()
Dim ObRef
On Error Resume Next

ThisWorkbook.VBProject.References.AddFromGuid "{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}", 1, 1
End Sub

Sub lsMapteste4()
'Inclui a referência se não houver
lReferenciaIE

Dim IE As InternetExplorer
Dim IState As String
Dim Iopcoes_contribuicao_icms As String
Dim Iproduct_code_form As String
Dim lUltimaLinhaAtiva As Long
Dim lContador As Long

'Identifica a última célula ativa da lista

lUltimaLinhaAtiva = Worksheets("Plan1").Cells(Worksheets("Plan1").Rows.Count, 1).End(xlUp).Row

'Cria um objeto Internet Explorer
Set IE = New InternetExplorer

'Torna o objeto visível
IE.Visible = True

'Faz um loop por todas as linhas da planilha
For lContador = 2 To lUltimaLinhaAtiva
'Navega ao site do Mapeia
IE.Navigate "http://portal.mda.gov.br/portal/saf/maisalimentos/"

'Identifica se a página já foi totalmente carregada
While IE.ReadyState <> READYSTATE_COMPLETE
Wend

sng = Timer
Do While sng + 3 > Timer
Loop

'Carrega os dados de cidade de origem e destino que serão preenchidos na página

lState = Range("A" & lContador).Value



'Carrega os dados de cidade de origem e destino na página e submente os dados do formulário
IE.Document.all("State").innertext = AC
IE.Document.all("opcoes_contribuicao_icms").innertext = Sim
IE.Document.all("product_code_form").innertext = Colunas da Plan1 + 1



'Identifica se a página já foi totalmente carregada
While IE.ReadyState <> READYSTATE_COMPLETE
Wend

sng = Timer
Do While sng + 3 > Timer
Loop

'Faz um loop pelos objetos do tipo table na página
For Each i In IE.Document.getElementById("State")
If InStr(i.innertext, "AC") > 0 Then
For Each l In i.getElementsByTagName("tr")
If InStr(l.innertext, ISIM) Then

End If
Next l
End If
Next i
Next lContador
Abrir e Salvar em PDF
Depois ir para o próximo código (product_code_form)consultar e salvar novamente e assim sucessivamente até a última linha preenchida da coluna A da Plan1

MsgBox "Concluído!"
End Sub


Muito obrigado, desde já!


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
PRMPOKER
Consultor
Consultor
Mensagens: 206
Registrado em: Ter Dez 04, 2012 8:57 am

Re: Consulta VBA - Site MDA

Mensagem por PRMPOKER »

Bom dia meu amigo, tudo bem?

Gostaria de te oferecer meus serviços, haja visto que a interação entre VBA e HTML, CSS, Javascript, XML, e tantas outras linguagens e conhecimentos envolvidos neste processo, é a minha especialidade.

Posso te adiantar que essa interação nunca é "uma coisinha simples", devido a complexidade e necessidade de acumulo de conhecimento em diversas áreas que se necessita para obter um resultado consistente.

Trabalho como freelancer e atendo a diversos usuários deste fórum, e muitos dos projetos desenvolvidos foram justamente nesse sentido. Posso te dar as melhores referências e também te passar maiores detalhes sobre a complexidade dos processos envolvidos nestes projetos.

Se for uma opção para você, conte comigo!

Um abraço!


Responder