Guest User

Untitled

a guest
Mar 20th, 2018
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.91 KB | None | 0 0
  1. Sub TesteBusca()
  2.  
  3. Dim IE As Object
  4. Dim sWindows As Object
  5. Dim sJanelas As Object
  6. Dim sDados As String
  7. Dim doc As MSHTML.HTMLDocument
  8.  
  9. Set IE = CreateObject("InternetExplorer.Application")
  10.  
  11. IE.navigate "http://sdro.ons.org.br/SDRO/DIARIO/index.htm"
  12. IE.Visible = True
  13.  
  14. EsperaIE IE, 2000
  15.  
  16. 'Debug.Print IE.document.getElementsByTagName("frame")(1).contentDocument.getElementsByTagName("a").innerText
  17. i = 1
  18. For Each link In IE.document.getElementsByTagName("frame")(1).contentDocument.getElementsByTagName("a")
  19. 'Debug.Print EXTRAIRELEMENTO(link.href, 8, "/")
  20. If EXTRAIRELEMENTO(link.href, 7, "/") = "DIARIO_18-03-2018.xlsx" Then
  21. i = i + 1
  22.  
  23.  
  24. link.Click
  25. EsperaIE IE, 2000
  26. If i = 2 Then Exit For
  27. End If
  28.  
  29. Next link
  30.  
  31. * i = 1
  32. * For Each link In IE.document.getElementsByTagName("frame")(1).contentDocument.getElementsByTagName("a")
  33. * If link.getAttribute("scr") = "../img/exportxls.gif" Then
  34. * i = i + 1
  35.  
  36. * link.Click
  37. * EsperaIE IE, 2000
  38. * If i = 2 Then Exit For
  39. * End If
  40.  
  41. *Next link
  42.  
  43. End Sub
  44.  
  45. Public Sub EsperaIE(IE As Object, Optional time As Long = 250)
  46. 'Código de: https://stackoverflow.com/questions/33808000/run-time-error-91-object-variable-or-with-block-variable-not-set
  47. Dim i As Long
  48. Do
  49. Sleep time
  50. Debug.Print CStr(i) & vbTab & "Ready: " & CStr(IE.READYSTATE = 4) & _
  51. vbCrLf & vbTab & "Busy: " & CStr(IE.Busy)
  52. i = i + 1
  53. Loop Until IE.READYSTATE = 4 Or Not IE.Busy
  54. End Sub
  55.  
  56. Function EXTRAIRELEMENTO(Txt As String, n, Separator As String) As String
  57. On Error GoTo ErrHandler:
  58. EXTRAIRELEMENTO = Split(Application.Trim(Mid(Txt, 1)), Separator)(n - 1)
  59. Exit Function
  60. ErrHandler:
  61. ' error handling code
  62. MsgBox "Erro, veriique os dados de entrada."
  63. EXTRAIRELEMENTO = CVErr(xlErrNA)
  64. On Error GoTo 0
  65. End Function
Add Comment
Please, Sign In to add comment