Download zip file & extract/open excel file

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
 
M

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
 
R

Ron de Bruin

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
 
M

Mika

Yes Ron,

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

Rg
Mika
 
R

Ron de Bruin

Hi Mika

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

I think about it tomorrow
 
T

Tim Williams

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
 
M

Mika

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top