View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
Kevin Beckham[_3_] Kevin Beckham[_3_] is offline
external usenet poster
 
Posts: 27
Default Delete file within a zip file

Thanks Patrick, but DeleteFile is part of FileSystemObject - your code would
delete the entire zip file, not a specific file within it

I eventually tracked down what was needed

oApp.Namespace(FileNameZip).items.Item _
(sFileToBeRemoved).InvokeVerb "&Delete"

will come up with the message that you about to permanently delete the file
and do you want to proceed.

The possible verbs are
&Open
Cu&t
&Copy
&Delete
P&roperties
for a file within a zip file (folder). It is probable that the ampersand
could be left out of the verb name.

Kevin

"Patrick Molloy" wrote:

the syntax is
DeleteFile {filename}


Option Explicit
Sub demo()
Dim sFilename As String
sFilename = "C:\test\somefile.zip"
DeleteFile sFilename
End Sub

"Kevin Beckham" wrote in message
...
With an existing zip file, how can I delete one of the zipped files ?

I can reference the file with something like
Set oApp = CreateObject("Shell.Application")
With oApp.Namespace(FileNameZip).Items.item(sFileToBeRe moved)

End With

but can't get the verb to use to be able to delete it.

I have tried using the code that accesses zip32.dll and unzip32.dll and,
while it will happily add and extract files from the zip file, it corrupts
the zip file when i try to delete one of its members.

Any help greatly appreciated
TIA
Kevin Beckham