1 1 1 1 1 1 1 1 1 1 Rating 0.00 (0 Votes)

Problemstellung:

Wie kann ich mit SHFileOperation eine Datei oder Verzeichnis löschen?

Für 32Bit und 64Bit Office Versionen

Allgemeine Hinweise beachten


Public Function DeleteOperation(dateinamen$(), Optional boolSubFolder As Boolean = False)
'*******************************************
'Name:      DeleteOperation (Function)
'Purpose:   Löschen von Dateien und Verzeichnissen
'Author:    Tommyk
'Date:      März 11, 2004, 04:20:33
'Inputs:    dateinamen$()= Namen der Quelldateien + Pfad
'           boolSubFolder=True, mit Subfolder
'Output:
'*******************************************
Dim filenames$
Dim i As Integer
Dim shellinfo As SHFILEOPSTRUCT
For i = 0 To UBound(dateinamen)
    filenames = filenames & dateinamen(i) + Chr(0)
Next i
filenames = filenames + Chr(0)
With shellinfo
        .hWnd = Screen.ActiveForm.hWnd
        .wFunc = FO_DELETE
        .pFrom = filenames
        .pTo = "" + Chr(0)
        If boolSubFolder = True Then .fFlags = FOF_FILESONLY
End With
    DeleteOperation = (0 = SHFileOperation(shellinfo))
End Function

Aufruf:

Dim s$(0)
    s(0) = "H:\Test\*.dll"
    DeleteOperation s, True
würde aus dem Verzeichnis "H:\Test" alle DLL-Dateien löschen.
 

 

 

Ähnliche Artikel