Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1032to1036
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Abfrage Zip-Vorgang (VB)

Abfrage Zip-Vorgang (VB)
17.12.2008 10:02:46
hausen
Hallo zusammen,
ich schreibe gerade ein Programm in dem ich eine gezippte Datei entzippen möchte und
danach einen Ordner aus der entzippten Datei löschen möchte.
Nun zu meinem Problem. Wie kann ich abfragen ob der zip-Vorgang abgeschlossen ist?
Da ich zur Zeit immer die Fehlermeldung bekomme, das die Datei nicht exestiert.

Private Sub QuellenStart()
' Datei unzippen
Shell "C:\Programme\WinZip\WZUNZIP.EXE -d " & "D:\test.zip" & " " & "D:\"
' Quellen löschen
FileOperation Löschen, "D:\test\Ordner1", "", False, True
End Sub


Danke und Gruss
Hausen

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Abfrage Zip-Vorgang (VB)
17.12.2008 10:49:54
ransi
Hallo
Ungetestet:

Private Sub QuellenStart()
' Datei unzippen
Shell "C:\Programme\WinZip\WZUNZIP.EXE -d " & "D:\test.zip" & " " & "D:\"
do while dir("D:\test\Ordner1")=""
loop
' Quellen löschen
FileOperation Löschen, "D:\test\Ordner1", "", False, True
End Sub


ransi

AW: Abfrage Zip-Vorgang (VB)
17.12.2008 11:17:28
hausen
Hallo ransi,
habe das mal ausprobiert und leider hängt sich mein Programm dann auf.
Gruss Hausen
AW: Abfrage Zip-Vorgang (VB)
17.12.2008 11:22:33
Tino
Hallo,
kann es nicht testen, habe kein Win Zip
Versuche es mal mit DoEvents dazwischen
Do While Dir("D:\test\Ordner1") = ""
DoEvents
Loop

Gruß Tino
Anzeige
AW: Abfrage Zip-Vorgang (VB)
17.12.2008 12:22:00
Tino
Hallo,
ich habe nochmal in meinem Archiv gestöbert.
Versuche es mal hiermit
Modul Modul1
Declare Function OpenProcess Lib "kernel32" _
        (ByVal dwDesiredAccess As Long, _
        ByVal bInheritHandle As Long, _
        ByVal dwProcessId As Long) As Long 
  
Declare Function GetExitCodeProcess Lib "kernel32" _
        (ByVal hProcess As Long, _
        lpExitCode As Long) As Long 
  
Public Const PROCESS_QUERY_INFORMATION = &H400 
Public Const STILL_ACTIVE = &H103 
  
 
 
Public Sub ShellAndWait(ByVal PathName As String, Optional WindowState) 
    Dim hProg As Long 
    Dim hProcess As Long, ExitCode As Long 
    'fill in the missing parameter and execute the program 
    If IsMissing(WindowState) Then WindowState = 1 
    hProg = Shell(PathName, WindowState) 
    'hProg is a "process ID under Win32. To get the process handle: 
    hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, False, hProg) 
    Do 
        'populate Exitcode variable 
        GetExitCodeProcess hProcess, ExitCode 
        DoEvents 
    Loop While ExitCode = STILL_ACTIVE 
End Sub 
 
 
Sub UnZip_ZipFile_1() 
    Dim PathWinZip As String, FileNameZip As String 
    Dim ShellStr As String, FolderName As String 
  
    PathWinZip = "C:\program files\winzip\" 
    'This will check if this is the path where WinZip is installed. 
    If Dir(PathWinZip & "winzip32.exe") = "" Then 
        MsgBox "Please find your copy of winzip32.exe and try again" 
        Exit Sub 
    End If 
  
    FileNameZip = "D:\test.zip" 
    FolderName = "D:\" 
  
    'Unzip the zip file in the folder FolderName 
    ShellStr = PathWinZip & "Winzip32 -min -e" _
             & " " & Chr(34) & FileNameZip & Chr(34) _
             & " " & Chr(34) & FolderName & Chr(34) 
    ShellAndWait ShellStr, vbHide 
     
     
    FileOperation Löschen, "D:\test\Ordner1", "", False, True 
End Sub 
 


Gruß Tino

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige