Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Sub TesteBusca()
- Dim IE As Object
- Dim sWindows As Object
- Dim sJanelas As Object
- Dim sDados As String
- Dim doc As MSHTML.HTMLDocument
- Set IE = CreateObject("InternetExplorer.Application")
- IE.navigate "http://sdro.ons.org.br/SDRO/DIARIO/index.htm"
- IE.Visible = True
- EsperaIE IE, 2000
- 'Debug.Print IE.document.getElementsByTagName("frame")(1).contentDocument.getElementsByTagName("a").innerText
- i = 1
- For Each link In IE.document.getElementsByTagName("frame")(1).contentDocument.getElementsByTagName("a")
- 'Debug.Print EXTRAIRELEMENTO(link.href, 8, "/")
- If EXTRAIRELEMENTO(link.href, 7, "/") = "DIARIO_18-03-2018.xlsx" Then
- i = i + 1
- link.Click
- EsperaIE IE, 2000
- If i = 2 Then Exit For
- End If
- Next link
- * i = 1
- * For Each link In IE.document.getElementsByTagName("frame")(1).contentDocument.getElementsByTagName("a")
- * If link.getAttribute("scr") = "../img/exportxls.gif" Then
- * i = i + 1
- * link.Click
- * EsperaIE IE, 2000
- * If i = 2 Then Exit For
- * End If
- *Next link
- End Sub
- Public Sub EsperaIE(IE As Object, Optional time As Long = 250)
- 'Código de: https://stackoverflow.com/questions/33808000/run-time-error-91-object-variable-or-with-block-variable-not-set
- Dim i As Long
- Do
- Sleep time
- Debug.Print CStr(i) & vbTab & "Ready: " & CStr(IE.READYSTATE = 4) & _
- vbCrLf & vbTab & "Busy: " & CStr(IE.Busy)
- i = i + 1
- Loop Until IE.READYSTATE = 4 Or Not IE.Busy
- End Sub
- Function EXTRAIRELEMENTO(Txt As String, n, Separator As String) As String
- On Error GoTo ErrHandler:
- EXTRAIRELEMENTO = Split(Application.Trim(Mid(Txt, 1)), Separator)(n - 1)
- Exit Function
- ErrHandler:
- ' error handling code
- MsgBox "Erro, veriique os dados de entrada."
- EXTRAIRELEMENTO = CVErr(xlErrNA)
- On Error GoTo 0
- End Function
Add Comment
Please, Sign In to add comment