AW: eingebettetes Zip per VBA entpacken
13.07.2009 13:33:05
Luschi
Hallo Dirk,
für WinZip habe ich keine Lösung, aber 7Zip bietet die Möglicherkeit, das zip-Archiv auszulesen: _
'mit 7Zip Inhalt von *.zip-Dateien auslesen
Option Explicit
Sub dateien_im_archiv_auflisten()
Dim objShell As Object, fso As Object, objExec As Object
Dim str7z As String, strName As String, msg As String
Dim strArchiv, strOut, i As Integer, k As Long
Set objShell = CreateObject("WScript.Shell")
'Pfad zum 7zip anpassen
str7z = "C:\PROGRA~1\PACKPR~1\7-Zip\7z.exe"
strArchiv = Application.GetOpenFilename("RAR-Archive, *.rar,ZIP-Archive,*.zip")
If strArchiv False Then
Cells(1, 1) = "Datei"
Cells(1, 2) = "Archiv"
k = ActiveSheet.UsedRange.Rows.Count
Set fso = CreateObject("Scripting.FileSystemObject")
Set objExec = objShell.Exec(str7z & " l " & fso.GetFile(strArchiv).ShortPath)
strOut = Split(objExec.StdOut.ReadAll, vbCrLf)
For i = LBound(strOut) To UBound(strOut)
If Left(strOut(i), 5) = "-----" Then
i = i + 1
Do
strName = strOut(i)
strName = Mid(strOut(i), InStrRev(strOut(i), " "))
strName = LTrim(strName)
strName = Mid(strName, InStr(strName, " "))
strName = LTrim(strName)
k = k + 1
Cells(k, 1) = strName
Cells(k, 2) = strArchiv
i = i + 1
Loop Until Left(strOut(i), 5) = "-----"
Exit For
End If
Next
End If
End Sub
Gruß von Luschi
aus klein-Paris