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á!
Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Consulta VBA - Site MDA
-
- Colaborador
- Mensagens: 16
- Registrado em: Qua Jul 19, 2017 10:59 pm
Re: Consulta VBA - Site MDA
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!
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!