For zips you can use this `cZipArchive` class (pure VB6, no external/dll dependecies) along w/ `cMemoryStream` sample class from tests to extract files from a zip archive to byte-arrays.

Easiest would be to pass an instance of `cMemoryStream` as `OutputFile` param of `Extract` method on `cZipArchive` like this:
VB Code:
  1. Private Sub Form_Load()
  2.     Dim oArchive As cZipArchive
  3.     Dim oStylesStream As cMemoryStream
  4.    
  5.     Set oArchive = New cZipArchive
  6.     Set oStylesStream = New cMemoryStream
  7.     oArchive.OpenArchive "D:\TEMP\Book1.xlsx"
  8.     oArchive.Extract vbNullString, "xl\styles.xml", oStylesStream
  9.     Debug.Print UBound(oStylesStream.Contents)
  10. End Sub

A more complicated approach would be to sink `BeforeExtract` event and create/assign instances of `cMemoryStream` to `File` event parameter as needed. These instances have to be appended to a collection to be accessible after extraction.

cheers,
</wqw>