there is an undocumented Command Line Interface (CLI) with Winzip.
Here is an example of how to use. I pass in the file path and file name to the sub so you will have to write it yourself.
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Private Const SYNCHRONIZE = &H100000
Private Const INFINITE = -1&
Sub unzip(Tempstr As String, File As String)
Dim sPWZipPath, sCmdLine, sTargetPath, sSourceFile As String
Dim iRunTaskID As Integer
Dim hProc As Long
sPWZipPath = "C:\Program Files\winzip\winzip32.exe" 'Setup the needed paths
sTargetPath = "C:\" 'Path to unzip ZIP contents to
sSourceFile = Tempstr 'Source ZIP file
sCmdLine = sPWZipPath & " -min -e " & sSourceFile & " c:\" ' here is the winzipsetup and commands -min = minimized, -e =extract
iRunTaskID = Shell(sCmdLine, vbHide)
DoEvents
hProc = OpenProcess(SYNCHRONIZE, 0, iRunTaskID)
If hProc <> 0 Then
WaitForSingleObject hProc, INFINITE
CloseHandle hProc
End If
End Sub
Good luck hope it helps. There are many more commands that can go with the CLI for winzip.
To go where no programmer has gone before.