Zippen eines Ordners mit VBA Excel
Hallo zusammen,
ich würde gerne mit VBA in Excel einen ganzen Ordner (z.B. "C:\Users\Name\Desktop\Test") zippen und das ganze dann in einen separaten Ordner (z.B. Desktop\Archiv) speichern. Am besten wäre es, wenn ich die gezippte Datei noch umbenennen könnte (dass z.B. automatisch ein Zeitstempel vorkommt). Leider hat mir google bis jetzt nur geholfen, wie ich einzelne Datein zippe und meine Änderung auf Ordner hat nicht funktioniert.
Über eine Lösung wäre ich sehr glücklich. Ich nutze Office13 und es wäre super, wenn das ganze über 7zip funktioniert.
Vielen Dank :)
2 Antworten
Zuerst hab ich mal eine BAT-Datei namens 7zip-01.bat geschieben. Da steht folgendes drin.
"C:\Program Files\7-Zip\7z.exe" a E:\Zielordner\test7.zip D:\Quellordner\*.* -r
In Excel hab ich dann ein Macro geschrieben. Da steht folgendes drin.
Sub Makro_7zip()
Dim WshShell As Object
Set WshShell = CreateObject("Wscript.Shell")
WshShell.Run "D:\bat\7zip-01.bat"
End Sub
Also in E:\Zielordner\ müßte sich dann die gezippte Datei test7.zip befinden. Gepackt wurde ja der Ordner D:\Quellordner\ mit allen Dateien. Evtl. den Pfad zu 7z.exe anpassen.
Hallo merkurus,
vielen Dank für die schnelle und gute Antwort. Mit etwas rumprobieren habe ich es noch hinbekommen :)
Man kann es auch ohne BAT-Datei machen wie folgt dann das Makro schreiben.
Sub Makro_7zip()
Shell ("C:\Program Files\7-Zip\7z.exe a E:\Zielordner\test7.zip D:\Quellordner\*.* -r")
End Sub