Macro com acesso a dados externos

Visual Basic for Aplication e macros no Excel.
Regras do fórum
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca verde. Imagem

Macro com acesso a dados externos

Mensagempor hudsonos » Sex Dez 01, 2017 2:03 pm

Pessoal, estou com problema nesta macro. Basicamente ela acessa meu portal, recolhe o ID, nome, e-mail e telefone (para ser trabalhado no excel)
Mas desde ontem parou de rodar apontando o erro na seguinte linha:

Código: Selecionar todos
b = Split(.Children(3).innerText, "|")

O que pode ser? Tem alguma forma de consertar ou criar uma nova?

Segue a macro completa:
Código: Selecionar todos
Sub BaixaDadosIntra()
  Const URL = "https://azenka.com.br/landing/?p="
  Dim a(1 To 4), b
  Dim i As Long, s As String, T As Double, R As Long
  Dim oDom As Object
  T = Timer
  Set oDom = CreateObject("htmlfile")
  With CreateObject("MSXML2.XMLHTTP")
    For i = 134948 To 145000
      .Open "GET", URL & i, False
      .send
      If .ReadyState = 4 And .Status = 200 Then
        oDom.body.innerHTML = .responseText
      Else
        MsgBox "i = " & i & vbLf _
             & "Ready state: " & .ReadyState & vbLf _
             & "HTTP request status: " & .Status, vbExclamation, "Error"
        Set oDom = Nothing
        Exit Sub
      End If
      With oDom.body.Document.all.Item(5)
        b = Split(.Children(3).innerText, "|")
        a(1) = Trim(b(0)) 'nome
        a(2) = Trim(b(1)) ' ID
        s = .Children(4).innerText
        a(3) = Trim(Mid(s, InStr(s, ":") + 1))  ' telefone
        a(4) = Trim(.Children(6).innerText)     ' email
        Cells(Rows.Count, 4).End(xlUp).Offset(1).Resize(, 4).Value = a()
        R = R + 1
        DoEvents
      End With
    Next
  End With
  Set oDom = Nothing
  Columns("D:G").AutoFit
  MsgBox "BAIXADOS " & R & " REGISTROS EM " & vbLf & Format((Timer - T) / 86400, "hh:mm:ss")
End Sub
hudsonos
Membro
Membro
 
Mensagens: 19
Registrado em: Ter Fev 21, 2017 4:38 pm
Has thanked: 2 times
Have thanks: 1 time

{ SO_SELECT }

Re: Macro com acesso a dados externos

Mensagempor wagner » Sex Dez 01, 2017 6:12 pm

hudsonos,

Boa noite!

Bom... não entendo muito de código para acesso e busca de informação em web. Todavia, pelo que você relatou, creio que o problema deva ser alguma modificação realizada no site justamente nessa parte onde você armazena os valorres na variável "b" com a função Split.

Qual é o erro que está dando no VBA? Procure ver se essas especificações no site não mudaram:
Código: Selecionar todos
oDom.body.Document.all.Item(5) 'Isso ainda é assim no site?
.Children(3).innerText, "|" 'Isso também ainda está da mesmo forma que era?
Se a resposta foi útil para você, por gentileza, Amigo, clique na mãozinha ao lado direito da ferramenta CITAR, no canto superior direito.

Atenciosamente
Wagner Morel
Avatar do usuário
wagner
Moderador
Moderador
 
Mensagens: 4399
Registrado em: Sáb Out 20, 2012 12:49 pm
Localização: Fortaleza - CE
Has thanked: 71 times
Have thanks: 1900 times

Re: Macro com acesso a dados externos

Mensagempor hudsonos » Qua Dez 06, 2017 2:23 pm

Olá Wagner, continua os mesmos comandos no site. Acabei de revisar a macro e mesmo assim não roda.
hudsonos
Membro
Membro
 
Mensagens: 19
Registrado em: Ter Fev 21, 2017 4:38 pm
Has thanked: 2 times
Have thanks: 1 time

Re: Macro com acesso a dados externos

Mensagempor wagner » Qua Dez 06, 2017 2:48 pm

hudsonos,

Boa tarde!

Você poderia disponibilizar seu arquivo aqui mesmo no fórum? Compacte com .ZIP. Assim, todos poderão rodar, depurar e ajudar de forma muito mais rápida.
Se a resposta foi útil para você, por gentileza, Amigo, clique na mãozinha ao lado direito da ferramenta CITAR, no canto superior direito.

Atenciosamente
Wagner Morel
Avatar do usuário
wagner
Moderador
Moderador
 
Mensagens: 4399
Registrado em: Sáb Out 20, 2012 12:49 pm
Localização: Fortaleza - CE
Has thanked: 71 times
Have thanks: 1900 times

Re: Macro com acesso a dados externos

Mensagempor hudsonos » Qua Dez 06, 2017 6:46 pm

Olá Wagner, posso sim, segue anexo a planilha. Deve ser algo muito simples que não estou achando.
Você não está autorizado a ver ou baixar esse anexo.
hudsonos
Membro
Membro
 
Mensagens: 19
Registrado em: Ter Fev 21, 2017 4:38 pm
Has thanked: 2 times
Have thanks: 1 time

Re: Macro com acesso a dados externos

Mensagempor wagner » Qui Dez 07, 2017 9:03 am

hudsonos,

Bom dia!

Qual é a referência adicional que preciso inserir para rodar corretamente seu arquivo?
Se a resposta foi útil para você, por gentileza, Amigo, clique na mãozinha ao lado direito da ferramenta CITAR, no canto superior direito.

Atenciosamente
Wagner Morel
Avatar do usuário
wagner
Moderador
Moderador
 
Mensagens: 4399
Registrado em: Sáb Out 20, 2012 12:49 pm
Localização: Fortaleza - CE
Has thanked: 71 times
Have thanks: 1900 times

Re: Macro com acesso a dados externos

Mensagempor hudsonos » Qui Dez 07, 2017 9:12 am

Bom dia Wagner,

Uso a referência na própria macro:
Código: Selecionar todos
With CreateObject("MSXML2.XMLHTTP")
    For i = 134948 To 145000


Inicio a busca através do button na planilha
hudsonos
Membro
Membro
 
Mensagens: 19
Registrado em: Ter Fev 21, 2017 4:38 pm
Has thanked: 2 times
Have thanks: 1 time

Re: Macro com acesso a dados externos

Mensagempor wagner » Qui Dez 07, 2017 11:03 am

Entendi... como disse, VBA pra Web não é minha praia. Desse modo, não tenho como te ajudar. Mas deixa o post aberto que alguém pode ainda ajudar.
Se a resposta foi útil para você, por gentileza, Amigo, clique na mãozinha ao lado direito da ferramenta CITAR, no canto superior direito.

Atenciosamente
Wagner Morel
Avatar do usuário
wagner
Moderador
Moderador
 
Mensagens: 4399
Registrado em: Sáb Out 20, 2012 12:49 pm
Localização: Fortaleza - CE
Has thanked: 71 times
Have thanks: 1900 times

Re: Macro com acesso a dados externos

Mensagempor hudsonos » Dom Dez 17, 2017 6:49 pm

Sem Problema Wagner, valeu pela intenção.

Ainda continuo na mesma
hudsonos
Membro
Membro
 
Mensagens: 19
Registrado em: Ter Fev 21, 2017 4:38 pm
Has thanked: 2 times
Have thanks: 1 time


Voltar para VBA & Macros

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 4 visitantes