[VBA] RETORNAR VALOR DE UMA TABELA NA WEB?!
Preciso retornar uma tabela html para o excel,até ai eu consigo numa boa,o problema é que desta tabela,eu preciso de um determinado campo,não a tabela toda.Alguém já conseguiu algo do tipo?!
Agradeço desde já.
você esta querendo ler uma tabela <table> html e armazenar no excel ''e isso?
Considere essa tabela
ID da tabela = [Ô]TabelaID[Ô]
ID Nome Idade
1 Joao 15
2 Pedro 13
3 Paulo 20
4 Ferreira 19
3 colunas,5 linhas.
Pelo método padrão eu retornaria a tabela toda para o excel,sem problemas.
Porém eu gostaria de retornar apenas os Nomes,ao invés de a tabela toda.
Ficou mais claro ?
Mas nos mostre o html real que você esta lendo e como esta fazendo para ler o mesmo!
assim fica mais fácil de te ajudar e não fugir tanto do seu código!
Citação:
Sub test()
Dim oDom As Object: Set oDom = CreateObject([Ô]htmlFile[Ô])
Dim x As Long, y As Long
Dim oRow As Object, oCell As Object
Dim data
y = 1: x = 1
With CreateObject([Ô]msxml2.xmlhttp[Ô])
.Open [Ô]GET[Ô], [Ô]locahost/index.html[Ô], False
.Send
oDom.body.innerHtml = .responseText
End With
With oDom.getelementsbytagname([Ô]table[Ô])(0)
ReDim data(1 To .Rows.Length, 1 To .Rows(1).Cells.Length)
For Each oRow In .Rows
For Each oCell In oRow.Cells
data(x, y) = oCell.innerText
y = y + 1
Next oCell
y = 1
x = x + 1
Next oRow
End With
Sheets(1).Cells(1, 1).Resize(UBound(data), UBound(data, 2)).Value = data
End Sub
e o Html
Citação:
<html>
<head>
</head>
<body>
<table id=[Ô]IDTABELA[Ô]>
<tr>
<td>ID</td><td>Nome</td><td>Idade</td>
</tr>
<tr>
<td>1</td><td>João</td><td>15</td>
</tr>
<tr>
<td>2</td><td>Pedro</td><td>13</td>
</tr>
<tr>
<td>3</td><td>Paulo</td><td>20</td>
</tr>
<tr>
<td>4</td><td>Ferreira</td><td>19</td>
</tr>
</table>
</body>
</html>
Segue anexo um exemplo muito simples, mas claramente você terá que quebrar a cabeça para se adaptar ao HTML visto que se for uma página que muda constantemente você sempre vai ter que estar atendo ao código.
qualquer duvida poste ai.