Página 1 de 1

Vba consulta site.

Enviado: Qua Jul 17, 2013 2:40 pm
por filipesala
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.

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] 
[

Re: Vba consulta site.

Enviado: Qui Jul 18, 2013 12:25 pm
por filipesala
Obrigado ja consegui terminar caso alguem queira o programa so pedir

Re: Vba consulta site.

Enviado: Qui Jul 18, 2013 3:00 pm
por Marciel Silva
filipesala, boa tarde!

Fiquei curioso para saber como o seu programa funciona? Como faço para conhecer este?
Meu email é: tyel_tyel@hotmail.com

Desde já agradeço!!!

Re: Vba consulta site.

Enviado: Qui Jul 18, 2013 3:28 pm
por filipesala
Te mandei por email.

Re: Vba consulta site.

Enviado: Qui Jul 18, 2013 5:54 pm
por filipesala
ESSE QUE ENVIEI PARA VOCE POR EMAIL ESTA ENXENDO A MEMORIA TEM QUE PELO MENOS DEIXAR ELE COM EI.QUIT PARA NAO ENXER A MEMORA E ALMENTAR O TEMPO DE CARREGAMENTO