Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Excel-Arbeitsmappe mit WinZip packen und entpacken

Gruppe

WinZip

Problem

Wie kann ich eine Excel-Arbeitsmappe mit WinZip packen bzw. entpacken?

Lösung
Geben Sie den nachfolgenden Code in ein Standardmodul ein und weisen Sie ihn einer Schaltfläche zu.

StandardModule: basMain

Sub Entpacken()
   Dim sXLPath As String, sZIPPath As String
   Dim sWinZipPath As String
   sXLPath = Range("B2").Value
   sZIPPath = Left(sXLPath, Len(sXLPath) - 3) & "zip"
   If Dir(sZIPPath) = "" Then
      Beep
      MsgBox "Gepackte Excel-Arbeitsmappe nicht gefunden!"
      Exit Sub
   End If
   sWinZipPath = Range("B1").Value
   If Dir(sWinZipPath) = "" Then
      Beep
      MsgBox "WinZip wurde nicht gefunden!"
      Exit Sub
   End If
   Shell sWinZipPath & " -e " & sZIPPath
   Application.Wait Now + TimeSerial(0, 0, 2)
   Workbooks.Open sXLPath
   Kill sZIPPath
End Sub

Sub Verpacken()
   Dim sXLPath As String, sZIPPath As String
   Dim sWinZipPath As String
   sXLPath = Range("B2").Value
   If Dir(sXLPath) = "" Then
      Beep
      MsgBox "Excel-Arbeitsmappe nicht gefunden!"
      Exit Sub
   End If
   sZIPPath = Left(sXLPath, Len(sXLPath) - 3) & "zip"
   sWinZipPath = Range("B1").Value
   If Dir(sWinZipPath) = "" Then
      Beep
      MsgBox "WinZip wurde nicht gefunden!"
      Exit Sub
   End If
   Shell sWinZipPath & " -a " & sZIPPath & " " & sXLPath
   Application.Wait Now + TimeSerial(0, 0, 2)
   Kill sXLPath
End Sub