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
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
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
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..7z zu erstellen.Fehler: „System kann die angegebene Datei nicht finden.“
Fehler: „Zugriff verweigert.“
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.
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\"
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 & "*.*"
7z.exe parameters, um spezifische Komprimierungsoptionen anzupassen. Diese findest Du im Handbuch oder in der Kommandozeilenhilfe.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.