Recebi auxílio do Mikel e Everton no outro post. viewtopic.php?f=25&t=4875, desta vez solicito a ajuda para capturar tabelas.
Anteriormente, foi utilizado o script para obter os países e, funcionou perfeitamente, adaptei para as outras fontes e ótimo, mas esbarrei agora na captura de tabelas, tentei adaptar o código, porém só copia a primeira linha da tabela, tente criar um loop, mas acabei destruindo o
código ahahaha, bom, estou aprendendo, por isso estou pedindo novamente o tempo e ajuda de vocês.
arquivo:
https://drive.google.com/open?id=0B88ev ... W9WUENSOTg
A página base é: http://www.dondelopublico.com/ficha/
exemplo: http://www.dondelopublico.com/ficha/0004-0592
Necessito das tabelas Datos de indización e Evaluación de organismos nacionales de ciencia y técnica
Por favor, podem me ajudar novamente?
Código: Selecionar todos
Sub CaptureCountry()
Dim ie As Object
Dim iLin, iCount As Long
'instancia de objeto do IE e o torna visível
Set ie = CreateObject("internetexplorer.application")
ie.Visible = True
'Inicia o processo de varredura da lista.
For iLin = 2 To Plan1.UsedRange.Rows.Count
'Verifica se existe algum NLM informado
'na linha atual da coluna A da planilha.
'Caso encontre, a rotina irá interromper o laço.
If Plan1.Cells(iLin, 1).Value = "" Then Exit For
'Carrega a página atual, utilizando o endereço da coluna C.
ie.navigate Plan1.Cells(iLin, 3).Value
'Aguarda carregamento da página.
Do While ie.busy: VBA.DoEvents: Loop
'Verifica se houve algum resultado da pesquisa.
'Caso não haja, irá para a próxima linha.
If ie.document.getelementsbytagname("li").Length <= 0 Then GoTo nextLinha
For iCount = 0 To ie.document.getelementsbytagname("li").Length - 1
If ie.document.getelementsbytagname("li")(iCount).innertext Like "País*" Then
'Captura o país da NLM e envia para a planilha.
Plan1.Cells(iLin, 2).Value = VBA.Trim(VBA.Replace( _
ie.document.getelementsbytagname("li")(iCount).innertext, "País:", ""))
GoTo nextLinha 'Força saída do laço.
End If
Next iCount
'Caso não encontre nada no teste acima,
'redireciona a rotina para a próxima linha.
GoTo nextLinha
nextLinha: 'Referência pra próxima linha.
Next iLin
'Limpa o objeto ie
Set ie = Nothing
End Sub