Cancellazione di una cartella e di tutte le cartelle collegate (clone Deltree)
Routine di cancellazione di una cartella e di tutte le cartelle collegate (clone Deltree).
1° Esempio:
Option Explicit
Public Sub DeleteFolderTree(ByVal vFolder As String)
Dim FSO
Dim FoldersObj
Dim FolderObj
Set FSO = CreateObject("Scripting.FileSystemObject")
If Not FSO.FolderExists(vFolder) Then
Set FSO = Nothing
Exit Sub
End If
Set FolderObj = FSO.GetFolder(vFolder)
Set FoldersObj = FolderObj.SubFolders
For Each FolderObj In FoldersObj
DeleteFolderTree FolderObj.Path
Next FolderObj
On Error Resume Next
'inserire la riga successiva se si vuole cancellare
'anche i file contenuti dentro le directory e subdirectory
' Kill vFolder & "\*.*"
RmDir vFolder
Err.Clear
On Error GoTo 0
Set FolderObj = Nothing
Set FoldersObj = Nothing
Set FSO = Nothing
End Sub
Private Sub Command1_Click()
DeleteFolderTree "d:\francoar\funzioni\"
End Sub
Testato su: Windows 98, Windows Me, Windows 2000 Professional
2° Esempio:
Option Explicit
Public Sub KillFolderTree(sFolder As String)
Dim sCurrFilename As String
sCurrFilename = Dir(sFolder & "\*.*", vbDirectory)
Do While sCurrFilename <> ""
If sCurrFilename <> "." And sCurrFilename <> ".." Then
If (GetAttr(sFolder & "\" &
sCurrFilename) And vbDirectory) = vbDirectory Then
Call KillFolderTree(sFolder & "\" & sCurrFilename)
sCurrFilename = Dir(sFolder & "\*.*", vbDirectory)
'inserire queste due righe se si vuole cancellare anche i file
'contenuti dentro le directory e subdirectory
'Else
' Kill sFolder & "\" & sCurrFilename
End If
End If
sCurrFilename = Dir
Loop
On Error Resume Next
RmDir sFolder
End Sub
Private Sub Command1_Click()
KillFolderTree "d:\francoar\funzioni\"
End Sub
Testato su: Windows 98, Windows Me, Windows 2000 Professional