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

Für 32Bit und 64Bit Office Versionen

Problemstellung:

Wie kann ich mit dem FileSystemObject (FSO) ein Verzeichnis löschen? 

Public Function DeleteFolderFSO(strSourcePath As String, Optional boolForce As Boolean = False)
'*******************************************
'Name:      DeleteFolderFSO (Function)
'Purpose:   Verzeichnis löschen
'Author:    Tommyk
'Date:      März 11, 2004, 04:06:38
'Inputs:    strSourcePath= Quell Verzeichnis
'           boolForce=True, es werden auch Verzeichnisse mit ReadOnly gelöscht
'Output:
'*******************************************
On Error GoTo Err_Handler
' Falls Quellverzeichnis einen abschließenden Backslash hat wird dieser entfernt
If Right(strSourcePath, 1) = "\" Then strSourcePath = Left(strSourcePath, Len(strSourcePath) - 1)
    
    If boolForce = True Then
        oFSO.DeleteFolder strSourcePath, True
    Else
        oFSO.DeleteFolder strSourcePath, False
    End If
    
Err_Handler_Exit:
    Exit Function
Err_Handler:
    Dim strErrString As String
    strErrString = "Error Information..." & vbCrLf
    strErrString = strErrString & "Error#: " & Err.Number & vbCrLf
    strErrString = strErrString & "Description: " & Err.Description & vbCrLf
    MsgBox strErrString, vbCritical + vbOKOnly, "Error in Function: DeleteFolderFSO"
    Resume Err_Handler_Exit
End Function

Aufruf:

DeleteFolderFSO "H:\Test"

würde das Verzeichnis "H:\Test", mit allen Unterverzeichnissen, ausser die ReadOnly sind, löschen.

DeleteFolderFSO "H:\Test", True

würde das Verzeichnis "H:\Test", mit allen Unterverzeichnissen, auch die ReadOnly sind, löschen.

 

Ähnliche Artikel