Dateien eines Ordners packen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Dateien eines Ordners packen von: Claus
Geschrieben am: 16.02.2005 19:58:25

Moin Leute,


ich habe mir die Aufgabe gestellt, Dateien eines Firmentools platzsparend zu archivieren.
Die Dateien werden aus einem Tool heraus automatisch erstellt und in einem Ordner abgelegt. Das sieht so aus:

Ordner/Datei1 Datei2 Datei3 usw.

ABL140205/abc.ctw - dtf.ctw - trw.ctw

Kann ich über VBA ein Tool entwerfen, das Dateien in einem Ordner zu einer Zip-Datei zusammenfaßt und dieser Zip-Datei den Namen des Ordners gibt?

Also so:

ABL140205.zip

Ich habe bereits eine Einleseroutine erstellt (mit viel Hilfe), weiß allerdings nicht, wie ich aus Excel das Programm Winzip ansteuern kann....

https://www.herber.de/bbs/user/18209.xls

Falls jemand zu diesem schwierigen Problem eine Idee hat...Herzlich willkommen...

Gruß, Claus

Bild


Betrifft: AW: Vieleicht hilft das von: chris b
Geschrieben am: 16.02.2005 21:26:37

Vieleicht hilft dir das ? !
Sorry mehr hab und weiß ich auch nicht !


Sub Oeffnen()
  Dim dName$, ZipPfad$, Pfad$
  Pfad = "c:\excel\"
  dName = "Test"
  ZipPfad = "c:\programme\winzip\winzip32.exe"
  Shell ZipPfad & " -e " & Pfad & dName & ".zip"
  Application.Wait Now + TimeSerial(0, 0, 2)
  Workbooks.Open Pfad & dName & ".xls"
  On Error Resume Next
 
End Sub



Bild


Betrifft: AW: Dateien eines Ordners packen von: Nepumuk
Geschrieben am: 16.02.2005 21:37:35

Hallo Claus,

kein Problem. Suche im Netz nach der Datei "zip32.dll". Lade sie die herunter und speichere sie im Windows-Systemordner z.B. für Window2000: C:\WINNT\system32 Wenn du deinen Systemordner nicht kennst, lass folgendes Programm laufen:


Option Explicit

Private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" _
    (ByVal lpBuffer As StringByVal nSize As LongAs Long

Public Sub anzeigen()
    Dim strBuffer As String * 255, strSysDir As String, lngReturn As Long
    lngReturn = GetSystemDirectory(strBuffer, 255)
    MsgBox Left$(strBuffer, lngReturn)
End Sub


Willst du mit dieser VBA-Routine die Dateien auch wieder entpacken? Dann benötigst du zusätzlich die Datei "unzip32.dll".

Wenn du das hast, dann erklär mir noch, wozu die Auflistung in der Exceltabelle dient. Denn beim zippen eines Ordners werden alle Dateien die sich darin befinden gepackt. Nicht nur Worddateien oder Exceldateien. Du kannst mit deinen Hyperlinks auch nicht auf die gepackten Dateien zugreifen.

Es ist auch noch nicht geklärt, wo die ZIP - Dateien gespeichert werden sollen und ob die Dateien automatisch gelöscht werden sollen.

Gruß
Nepumuk


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Dateien eines Ordners packen"