Download zip file & extract/open excel file

  • Thread starter Thread starter Mika
  • Start date Start date
M

Mika

Hi,

I need to download with vba a zip file from the web and then extract/
open the spreadsheet (data.xls) in it. How can I do that ?

I guess something like this:

TaskID = Shell("C:\WINZIP\WINZIP32.EXE\ " & MyFile .....

Thanks for your interest and time...

Mika
 
Geweldig Ron !

Those functions tell me how to unzip the file once I got it, but couldn
´t find first how to download the zip within excel. I can´t/don´t want
to dowload it manualy but all with vba. Did I miss something in your
site ?

Rg
Mika
 
I answer this
See my zip pages for the unzip part

For the download part
Do you always want to save the same file from a website


--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


Geweldig Ron !

Those functions tell me how to unzip the file once I got it, but couldn
´t find first how to download the zip within excel. I can´t/don´t want
to dowload it manualy but all with vba. Did I miss something in your
site ?

Rg
Mika
 
Yes Ron,

It is always the same filename but the spreadsheet inside has update
data every week.

Rg
Mika
 
Hi Mika

Never try this myself with a zip file
I have done it with workbooks.

I think about it tomorrow
 
Try this:
'***************************************
'get a file from a URL and save it to the specified path
Sub DownloadFile(sURL As String, sPath As String)
Dim oXHTTP As Object, oStream As Object

Set oXHTTP = CreateObject("MSXML2.XMLHTTP")
Set oStream = CreateObject("ADODB.Stream")

oXHTTP.Open "GET", sURL, False
oXHTTP.send

With oStream
.Type = adTypeBinary
.Open
.Write oXHTTP.responseBody
.SaveToFile sPath, adSaveCreateOverWrite
.Close
End With

Set oXHTTP = Nothing
Set oStream = Nothing
End Sub
'****************************************

Tim
 
Thank you,

Solved, found in the api:

Private Declare Function URLDownloadToFile Lib "urlmon" Alias
"URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String,
ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As
Long) As Long
Public Function DownloadFile(URL As String, LocalFilename As String)
As Boolean
Dim lngRetVal As Long
lngRetVal = URLDownloadToFile(0, URL, LocalFilename, 0, 0)
If lngRetVal = 0 Then DownloadFile = True
End Function
Private Sub Form_Load()
'example by Matthew Gates ([email protected])
DownloadFile "http://www.allapi.net", "c:\allapi.htm"
End Sub
 
Back
Top