View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
Paul Martin[_2_] Paul Martin[_2_] is offline
external usenet poster
 
Posts: 133
Default Extract a single file from a Compressed Folder (Zip file)

I've been using the below code with success, but now it's failing at
oApp.Namespace(TEMP_FOLDER).CopyHere. I get a Windows (not VBA) error
saying "the file exists." The temp folder is in fact empty. Any
suggestions?

Private Sub LoopThruFileItems(ByVal varZipFullPath As Variant)
Dim oApp As Object
Dim objFile As Object
Dim strCSVFullPath As String

Set oApp = CreateObject("Shell.Application")
TEMP_FOLDER = Environ("USERPROFILE") & "\Desktop\TEMP\"

For Each objFile In oApp.Namespace(varZipFullPath).Items
If Left(objFile.Name, 6) = "int140" Then
' Copy required file item from zip to temp folder
oApp.Namespace(TEMP_FOLDER).CopyHere _
oApp.Namespace(varZipFullPath).Items.Item(objFile. Name)

' Extract data, then delete the file item extracted from
the zip file
strCSVFullPath = TEMP_FOLDER & objFile.Name
ExtractData strCSVFullPath
Workbooks(objFile.Name).Close False
Kill strCSVFullPath
End If
Next objFile
End Sub





On Sep 17, 9:55*am, Paul Martin wrote:
Thanks Ron, that's working just fine. *I'm using the line code you
commented out to select a specific file.

Paul

On Sep 16, 2:41 pm, Paul Martin wrote:

Thanks for the response, Ron. *That looks like it might do what I want
it to, though it'll be a while before I can try it.


Paul


On Sep 16, 1:06 pm, "Ron de Bruin" wrote:


Hi Paul


See the commented text in the first macrohttp://www.rondebruin.nl/windowsxpunzip.htm


--


Regards Ron de Bruinhttp://www.rondebruin.nl/tips.htm


"Paul Martin" wrote in ...
Hi guys


Given a certain criteria in a filename, I would like to
programmatically extract a single file from a zip file (compressed
folder) that may have one or many files in it. *Can someone point me
in the right direction?


Thanks in advance


Paul Martin
Melbourne, Australia