This routine uses all the good stuff that FileSystemObject offers.
Here it is:
Public Sub DeleteFiles(ByVal strPath As String, ByVal strExtension As String) Dim fsoMain As Scripting.FileSystemObject Dim folToDeleteFrom As Scripting.Folder Dim fleToDelete As Scripting.File On Error GoTo ErrorHandler ' Init Set fsoMain = New FileSystemObject ' Check if folder exists If fsoMain.FolderExists(strPath) Then Set folToDeleteFrom = fsoMain.GetFolder(strPath) ' Loop through all files and delete the ones with matching extensions For Each fleToDelete In folToDeleteFrom.Files If strExtension = fsoMain.GetExtensionName(fleToDelete.Path) Then fleToDelete.Delete End If Next fleToDelete Else ' Here you could raise an error End If Set fleToDelete = Nothing Set folToDeleteFrom = Nothing Set fsoMain = Nothing Exit Sub ErrorHandler: Set fleToDelete = Nothing Set folToDeleteFrom = Nothing Set fsoMain = Nothing ' Do the stuff you need to do here (raise error, MsgBox, log,...) End Sub
And it should be used like this:
DeleteFiles