Efetuando download de arquivo zipado, pelo Excel e descompactando ele

Hoje no forum havia um usuário com esta necessidade, como creio que a resposta que dei para ele será útil para mais gente, posto aqui o código:

Sub DownloadEUnzip()
      Dim FSO, oApp As Object
      Dim objHttp, DefPath, Arquivo As String
      Dim Dados() As Byte
      Dim Fname As Variant
      Dim FileNameFolder As Variant
      Dim iFileNumber As Long
      Set objHttp = CreateObject(“MSXML2.ServerXMLHTTP”)
      objHttp.Open “GET”, “http://www1.caixa.gov.br/loterias/_arquivos/loterias/D_lotfac.zip”, False
      objHttp.Send
      DefPath = “C:\Loteria\Temp\”    ‘<<< Altere aqui
      Arquivo = DefPath & “D_lotfac.zip”
      If objHttp.Status = “200” Then
          Dados = objHttp.ResponseBody
          iFileNumber = FreeFile
          Open Arquivo For Binary Access Write As #iFileNumber
          Put #iFileNumber, 1, Dados
          Close #iFileNumber
      End If
      If Right(DefPath, 1) <> “\” Then
         DefPath = DefPath & “\”
      End If
      FileNameFolder = DefPath
      Set oApp = CreateObject(“Shell.Application”)
      oApp.Namespace(FileNameFolder).CopyHere oApp.Namespace(“C:\Loteria\Temp\D_lotfac.zip”).items
  End Sub

Leave a Reply

Your email address will not be published. Required fields are marked *


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>