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
Postado : 01/12/2017 12:03 pm