Amigo(s), testei a macro, era(quase) o que eu procurava, PORÉM, foi a que mais chegou perto até agora.
Se usar ela na íntegra, dá um erro de execução, mas baixa o arquivo zipado na pasta "temp".
Se excluir a última parte(abaixo/azul), não dá mensagem de erro, e baixa o arquivo zipado.
MInha pretensão ERA baixar os resultados das LOTERIAS em planilhas, já DESCOMPACTANDO o arquivo zipado, e a cada concurso, só ir atualizando os resultados, e se possível, em ordem numérica.
Seria Possível? Como? Poderia me Ajudar?
Utilizo Excell 2003 e 2007.
Jaime.
Set oApp = CreateObject("Shell.Application")
oApp.Namespace(FileNameFolder).CopyHere oApp.Namespace("C:LoteriaTempD_lotfac.zip").items
End Sub
Título: Descompactar via VBA arquivo .ZIP
Resolvido, o código que usei para o procedimento acima foi esse
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:LoteriaTemp" '<<< 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:LoteriaTempD_lotfac.zip").items
End Sub
Postado : 05/11/2011 7:58 am