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:
b = Split(.Children(3).innerText, "|")
O que pode ser? Tem alguma forma de consertar ou criar uma nova?
Segue a macro completa:
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,
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:
oDom.body.Document.all.Item(5) 'Isso ainda é assim no site? .Children(3).innerText, "|" 'Isso também ainda está da mesmo forma que era?
Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)
Atenciosamente
Wagner Morel
Olá Wagner, continua os mesmos comandos no site. Acabei de revisar a macro e mesmo assim não roda.
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.
Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)
Atenciosamente
Wagner Morel
Olá Wagner, posso sim, segue anexo a planilha. Deve ser algo muito simples que não estou achando.
hudsonos,
Bom dia!
Qual é a referência adicional que preciso inserir para rodar corretamente seu arquivo?
Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)
Atenciosamente
Wagner Morel
Bom dia Wagner,
Uso a referência na própria macro:
With CreateObject("MSXML2.XMLHTTP") For i = 134948 To 145000
Inicio a busca através do button na planilha
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.
Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)
Atenciosamente
Wagner Morel
Sem Problema Wagner, valeu pela intenção.
Ainda continuo na mesma