Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zip- Archiv mit 7z.exe erstellen.

Zip- Archiv mit 7z.exe erstellen.
16.04.2009 10:31:11
Tino
Hallo,
ich bräuchte mal Eure Hilfe.
Kennt jemand von Euch einen funktionierenden Code um mit dem Freeware- Programm 7z.exe
aus mehreren Dateien ein Zip- Archiv zu erstellen.
Gruß Tino
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zip- Archiv mit 7z.exe erstellen.
16.04.2009 11:13:37
Oberschlumpf
Hi Tino
Versuch mal

Sub sb7z()
Dim lstrPfad As String, lstr7zPfad As String
'für "..." musst du das Verzeichnis eintragen, in dem 7Zip installiert ist
lstr7zPfad = "..."
'für "..." musst du das Verzeichnis eintragen, in dem die Dateien gespeichert sind,
'die du komprimieren willst
lstrPfad = "..."
'komprimiert nur Dateien
'    Shell lstr7zPfad & "7z a C:\test " & lstrPfad & "*.*"
'komprimiert Dateien und Unterverzeichnisse
Shell lstr7zPfad & "7z a -r C:\test " & lstrPfad & "*.*"
End Sub


Dieses Makro erstellt auf C:\ das Archiv test.7z, welches die Dateien aus dem Verzeichnis beeinhaltet, welches du für lstrPfad eingetragen hast.
Für lstr7zPfad musst du noch das Verzeichnis eintragen, in dem du 7z installiert hast.
Und hier noch die Übersicht aller Befehle, die du auf Kommandozeilenebene verwenden kannst:
7-Zip 4.65 Copyright (c) 1999-2009 Igor Pavlov 2009-02-03
Usage: 7z command [switches...] archive_name [file_names...]
[@listfiles...]

a: Add files to archive
b: Benchmark
d: Delete files from archive
e: Extract files from archive (without using directory names)
l: List contents of archive
t: Test integrity of archive
u: Update files to archive
x: eXtract files with full paths

-ai[r[-|0]]{@listfile|!wildcard}: Include archives
-ax[r[-|0]]{@listfile|!wildcard}: eXclude archives
-bd: Disable percentage indicator
-i[r[-|0]]{@listfile|!wildcard}: Include filenames
-m{Parameters}: set compression Method
-o{Directory}: set Output directory
-p{Password}: set Password
-r[-|0]: Recurse subdirectories
-scs{UTF-8 | WIN | DOS}: set charset for list files
-sfx[{name}]: Create SFX archive
-si[{name}]: read data from stdin
-slt: show technical information for l (List) command
-so: write data to stdout
-ssc[-]: set sensitive case mode
-ssw: compress shared files
-t{Type}: Set type of archive
-v{Size}[b|k|m|g]: Create volumes
-u[-][p#][q#][r#][x#][y#][z#][!newArchiveName]: Update options
-w[{path}]: assign Work directory. Empty path means a temporary directory
-x[r[-|0]]]{@listfile|!wildcard}: eXclude filenames
-y: assume Yes on all queries
Hilfts?
Ciao
Thorsten

Anzeige
sieht sehr vielversprechend aus,...
16.04.2009 11:31:20
Tino
Hallo Thorsten,
recht herzlichen Dank.
Das Du auch gleich noch die komplette Übersicht mit beigelegt hast ist echt super von Dir.
Kann dies erst heute Mittag auf der Arbeit testen, dort habe ich aber keinen Internetanschluss,
daher gebe ich Dir heute Abend Rückmeldung.
Danke nochmal.
Gruß Tino
Anzeige
AW: Zip- Archiv mit 7z.exe erstellen.
16.04.2009 22:26:19
Tino
Hallo,
hat super funktioniert, danke nochmal für Deine Hilfe.
Gruß Tino
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zip-Archiv mit 7z.exe erstellen


Schritt-für-Schritt-Anleitung

Um mit 7z.exe ein Zip-Archiv zu erstellen, kannst Du folgenden VBA-Code verwenden:

Sub sb7z()
    Dim lstrPfad As String, lstr7zPfad As String
    'für "..." musst du das Verzeichnis eintragen, in dem 7Zip installiert ist
    lstr7zPfad = "C:\Program Files\7-Zip\"
    'für "..." musst du das Verzeichnis eintragen, in dem die Dateien gespeichert sind,
    'die du komprimieren willst
    lstrPfad = "C:\dein\verzeichnis\"
    'komprimiert nur Dateien
    'Shell lstr7zPfad & "7z a C:\test.7z " & lstrPfad & "*.*"
    'komprimiert Dateien und Unterverzeichnisse
    Shell lstr7zPfad & "7z a -r C:\test.7z " & lstrPfad & "*.*"
End Sub
  1. Anpassung der Pfade: Ersetze C:\Program Files\7-Zip\ mit dem Installationspfad von 7zip auf Deinem System und C:\dein\verzeichnis\ mit dem Verzeichnis, das die Dateien enthält, die Du komprimieren möchtest.
  2. Ausführen des Makros: Führe das Makro aus, um das Archiv mit der Datei-Endung .7z zu erstellen.

Häufige Fehler und Lösungen

  • Fehler: „System kann die angegebene Datei nicht finden.“

    • Lösung: Überprüfe, ob der Pfad zu 7z.exe korrekt ist. Achte darauf, dass der Pfad sowohl die richtige Datei als auch die richtige Ordnerstruktur enthält.
  • Fehler: „Zugriff verweigert.“

    • Lösung: Stelle sicher, dass Du ausreichende Berechtigungen hast, um auf das Zieldirectory zuzugreifen. Eventuell musst Du das Makro mit Administratorrechten ausführen.

Alternative Methoden

Du kannst auch die Kommandozeile nutzen, um eine .7z Datei zu erstellen. Öffne die Eingabeaufforderung und verwende folgenden Befehl:

"C:\Program Files\7-Zip\7z.exe" a -r "C:\test.7z" "C:\dein\verzeichnis\*.*"

Diese Methode erfordert keine VBA-Kenntnisse, ist jedoch weniger automatisiert.


Praktische Beispiele

  1. Komprimieren eines gesamten Ordners: Wenn Du einen gesamten Ordner komprimieren möchtest, passe den Pfad in Deinem VBA-Skript wie folgt an:

    lstrPfad = "C:\dein\verzeichnis\ordnername\"
  2. Passwortschutz hinzufügen: Um eine .7z Datei mit einem Passwort zu schützen, kannst Du folgenden Befehl im Shell-Befehl verwenden:

    Shell lstr7zPfad & "7z a -pDeinPasswort C:\test.7z " & lstrPfad & "*.*"

Tipps für Profis

  • Batch-Komprimierung: Wenn Du mehrere Ordner in einem Rutsch komprimieren möchtest, kannst Du eine Schleife in Deinem VBA-Skript einfügen, um alle gewünschten Pfade durchzugehen.
  • Verwendung von 7z-Parametern: Nutze die umfangreiche Liste der 7z.exe parameters, um spezifische Komprimierungsoptionen anzupassen. Diese findest Du im Handbuch oder in der Kommandozeilenhilfe.

FAQ: Häufige Fragen

1. Kann ich auch andere Dateiformate komprimieren? Ja, 7zip unterstützt verschiedene Formate. Du kannst nahezu alle Dateitypen komprimieren, indem Du die Dateiendungen im Pfad entsprechend anpasst.

2. Ist 7zip kostenlos? Ja, 7zip ist eine Freeware und kann kostenlos heruntergeladen und verwendet werden.

3. Wie kann ich die Komprimierungsrate verbessern? Experimentiere mit den Komprimierungsoptionen von 7zip. Du kannst z.B. die Methode ändern, um eine bessere Rate zu erzielen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige