title image


Smiley Re: VB6 Dateien zippen
Hi !



Beim Packen von Dateien kann ich Dir vielleicht weiterhelfen.



Versuch's mal hiermit:



' *** Api-Deklaration

Private Declare Function FindExecutable Lib "shell32.dll" Alias "FindExecutableA" _

(ByVal lpFile As String, _

ByVal lpDirectory As String, _

ByVal lpResult As String) _

As Long







Private Function fctDateiPacken(ByVal bv_strPacker As String, ByVal bv_strDatei As String, _

ByVal bv_strArchiv As String) As Boolean

' *** bv_StrPacker = Vollständiger Programmpfad des Packers

' *** bv_strDatei = Vollständiger Pfad der zu packenden Datei

' *** bv_strArchiv = Vollständiger Pfad der Archiv-Datei



Dim intResult As Integer



fctDateiPacken = False



Select Case UCase$(Mid$(bv_strPacker, (InStrRev(bv_strPacker, "\") + 1)))

Case "WINZIP32.EXE", "POWERARC.EXE"

intResult = Shell(bv_strPacker & " -a " & bv_strArchiv & " " & bv_strDatei, vbHide)

Case "WINRAR.EXE"

intResult = Shell(bv_strPacker & " a " & bv_strArchiv & " " & bv_strDatei, vbHide)

Case Else

Exit Function

End Select



fctDateiPacken = True

End Function



Private Function fctGetExeFromFile(ByVal bv_strFile As String) As String

' *** Verknüpfte Anwendung anhand einer Datei ermitteln

Dim strExe As String



strExe = Space$(260)

FindExecutable bv_strFile, "", strExe



' Rückgabewert ist leer, wenn keine dazugehörige Anwendung gefunden wurde

fctGetExeFromFile = RTrim$(Replace(strExe, vbNullChar, vbNullString))

End Function









Aufruf :



' *** Datei zum Archiv hinzufügen

' *** Pfad des Packprogrammes anhand der zu packenden Datei ermitteln

strPfadPacker = fctGetExeFromFile(strZIPDatei)

If LenB(strPfadPacker) = 0 Then

' *** Existiert die zu packenden Datei noch nicht

' *** wird die ZIP-Datei temporär angelegt

' *** der Pfad des Packprogrammes anhand der zu packenden Datei ermittelt

' *** und danach wieder gelöscht

Open strZIPDatei For Output As #3

Close #3

strPfadPacker = fctGetExeFromFile(strZIPDatei)

Kill strZIPDatei

End If

' *** Packfunktion aufrufen

If fctDateiPacken(strPfadPacker, strDatei, strZIPDatei) = False Then

MsgBox "Datei " & strDatei & " wurde nicht zum ARCHIV " & strZIPDatei & " hinzugefügt !", _

(vbApplicationModal + vbExclamation + vbMsgBoxSetForeground)

End If





Gruß

flipper8

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: