Public ArcName As String ' задается при первом открытии архива в виде полного пути с именем до него
Function ExtractDir(ByVal eDir As String, ByVal dDir As String) As Boolean
'dDir="C:\папка\папка"
Dim opnArcData As TOpenArchiveData
Dim hArcData As Long
Dim HeaderData As tHeaderData
opnArcData.ArcName = ArcName
opnArcData.OpenMode = PK_OM_EXTRACT
hArcData = OpenArchive(opnArcData)
Do Until ReadHeader(hArcData, HeaderData) = E_END_ARCHIVE
If [надо-ли файл распаковать] Then
ProcessFile hArcData, PK_EXTRACT, vbNullString, dDir & "\" & HeaderData.FileName
'четвертым параметром (DestName) пробовал просто "HeaderData.FileName" и еще так:
'dDir & "\" & Left(HeaderData.FileName, InStr(1, HeaderData.FileName, Chr(0)) - 1)
Else
ProcessFile hArcData, PK_SKIP, vbNullString, vbNullString
End If
Loop
CloseArchive hArcData
End Function
|