Vba consulta site.
Enviado: Qua Jul 17, 2013 2:40 pm
Boa tarde a todos,
Estou tentando termina esse programa mais nao estou conseguindo se alguem puder me dar uma dica ou me ajuda agradeço,
(A1)até(A1000) (B1)até(B1000) (C1)até(C1000)
Seguinte na minha planilha contém (agencia) (conta) (digito)
do a1 ate a1000 tem dados do e assim por diante B e C tbm,
meu programa ele joga agencia conta e digito nos campos da pagina da web consulta copia o nome de quem é o dono da conta e cola so que o seguinte ele nao esta consultando as linha de baixo ele consulta cola e para o programa nao sei o que faço sou iniciante se puderem me ajuda agradeço
Obrigado.
[
Estou tentando termina esse programa mais nao estou conseguindo se alguem puder me dar uma dica ou me ajuda agradeço,
(A1)até(A1000) (B1)até(B1000) (C1)até(C1000)
Seguinte na minha planilha contém (agencia) (conta) (digito)
do a1 ate a1000 tem dados do e assim por diante B e C tbm,
meu programa ele joga agencia conta e digito nos campos da pagina da web consulta copia o nome de quem é o dono da conta e cola so que o seguinte ele nao esta consultando as linha de baixo ele consulta cola e para o programa nao sei o que faço sou iniciante se puderem me ajuda agradeço
Obrigado.
Código: Selecionar todos
[list][/list]• Public Sub ConectaWeb()
On Error Resume Next
Dim i As Long
Dim IE As Object
Dim objElement As Object
Dim objCollection As Object
' Abre a página
Set IE = CreateObject("InternetExplorer.Application")
IE.navigate ("bradesco.com.br")
IE.Visible = True
' Espera carregar...
Do While IE.Busy
Application.Wait DateAdd("s", 2, Now)
Loop
' Busca campos tipo input (estamos querendo preencher um form com dados)
Set objCollection = IE.document.getElementsByTagName("input")
'Varre os inputs do HTML procurando pelos elementos desejados
i = 0
While i < objCollection.Length
If objCollection(i).Name = "AGN" Then
' Define o objeto HTML com nome ANG com o valor da agência (precisar olhar o código HTML para saber esse nome)
objCollection(i).Value = ThisWorkbook.Worksheets("Plan1").Range("A1")
ElseIf objCollection(i).Name = "CTA" Then
' Número da conta corrente
objCollection(i).Value = ThisWorkbook.Worksheets("Plan1").Range("B1")
ElseIf objCollection(i).Name = "DIGCTA" Then
' Dígito da conta
objCollection(i).Value = ThisWorkbook.Worksheets("Plan1").Range("C1")
Else
'Quando achar o objeto submit armazena no objeto
If objCollection(i).Type = "submit" And objCollection(i).Name = "" Then
Set objElement = objCollection(i)
End If
End If
i = i + 1
Wend
' Clica o botão
objElement.Click
' Espera carregar a outra página. A espera de 5 segundos é porque o site
' carrega uma página entre a tela de login e a tela final
Application.Wait DateAdd("s", 5, Now)
Do While IE.Busy
Application.Wait DateAdd("s", 2, Now)
Loop
' Agora busca o nome na próxima página
' Buscamos as tags <span> porque é em uma delas que está o nome buscado
Set objCollection2 = IE.document.getElementsByTagName("span")
i = 0
While i < objCollection2.Length
If objCollection2(i).classname = "saudacao" Then
'Exibe a mensagem desejada.
'Utilizamos o I+1 porque, no HTML, o nome está dentro de uma TAG <span> interna a TAG com classname 'saudacao'
'Isso é específico do Bradesco
'Cells([1], [5]).Value
For Y = 1 To 3
Range("D" & Y).Value = objCollection2(i + 1).innerText
Next Y
End If
i = i + 1
Wend
IE.Close
End Sub[list][/list]