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.
Estou concluido a minha macro e tenho a seguinte problema:
Na página que eu estou extraindo os dados possui varias "div class="accordion-item", igual ao modelo abaixo. Estou usando div class="accordion-item(0), div class="accordion-item(1)e sucessivamente. Ocorre que as vezes possui 5 divs as vezes seis. O que preciso saber se aguem possui um codigo para fixar ou atrelar a div class="accordion-item" ao algum dado do input (por exemplo id="accordion-classe-nice", pois devido esta variação os dados não ficam certo nas colunas.
Hoje uso assim: Set HTMLClass = HTMLDiv.getElementsByClassName("accordions")(0)
Estou complementando meu pedido, pois com certeza não fui claro na minha solicitação . Peço desculpas por isso!
Segue uma print da estrutura da pagina que preciso raspar, sendo:
A página é dividido com varias tabelas e divs com mesmo nome, o que deferencia é este input que fica logo abaixo do class="accordion-item".
Hoje estou usando o codigo:
Set HTMLDoc = IE.document
Set HTMLDiv = HTMLDoc.getElementById("principal")
Set HTMLClass = HTMLDiv.getElementsByClassName ("accordion-item") (0)
Set HTMLClass = HTMLDiv.getElementsByClassName ("accordion-item") (1)
Set HTMLClass = HTMLDiv.getElementsByClassName ("accordion-item") (2)
Set HTMLClass = HTMLDiv.getElementsByClassName ("accordion-item") (3)
Set HTMLClass = HTMLDiv.getElementsByClassName ("accordion-item") (4)
Set HTMLClass = HTMLDiv.getElementsByClassName ("accordion-item") (5)
Porém as vezes dependendo da página, possui menos tabelas e/ou divs, não possuindo uma ordem de sua classificação.
No print que mandei possui este input que possui até id que fica logo abaixo do div class accordion-item.
O qure estou precisando é do código para definir estas divs e/ou tabelas de forma que fique fixa atrelando pelo id e não por estes números que informei (0), (1), etc.
Desculpem sou leigo, estou com dificuldade de fazer este código.
Set HTMLDoc = IE.document
Set HTMLDiv = HTMLDoc.getElementById("principal")
Set HTMLClasses = HTMLDiv.getElementsByClassName ("accordion-item")
For Each HTMLClass In HTMLClasses
If HTMLClass.innerHTML Like ("*accordion-classe-nice*") Then
Declarei:
Dim HTMLTable As MSHTML.IHTMLElement
Dim HTMLClasses As MSHTML.IHTMLElementCollection