File System Object

 FSO - Check If a file exists, if exists then delete the file.

Dim fso As Scripting.FileSystemObject

Sub test()

Application.ScreenUpdating = False

Set fso = New Scripting.FileSystemObject

Dim flname As String

flname = "D:\Excel Practice\Test.txt"

If Not fso.FileExists(flname) Then

Exit Sub

Else

'flname.Delete--------Incorrect

fso.DeleteFile (flname) '---Correct

MsgBox "file deleted", vbInformation

End If

Application.ScreenUpdating = True

End Sub


'---------------------------------------------

Sub DeleteAllFilesFromAFolder()

Dim fso As Object

Dim fd As Object

Dim fl As Object

Dim str_Path As String


str_Path = "D:\New Folder\"

Set fso = CreateObject("Scripting.FileSystemObject")

Set fd = fso.getfolder(str_Path)


For Each fl In fd.Files

    fl.Delete

Next fl

End Sub

Delete a file without using Loop

If obj_fso.fileexists(ThisWorkbook.Path & "\" & "xyz.xlsx") Then
obj_fso.Deletefile ThisWorkbook.Path & "\" & "xyz.xlsx", True
End If


Move a file from one folder to another without using Loop

If obj_fso.fileexists(ThisWorkbook.Path & "\" & "xyz.xlsx") Then
obj_fso.movefile ThisWorkbook.Path & "\" & "xyz.xlsx", ThisWorkbook.Path & "\" & "Target folder name" & "\"
End If 

Copy a file from one folder to another without using Loop

If obj_fso.fileexists(ThisWorkbook.Path & "\" & "xyz.xlsx") Then
obj_fso.copyfile ThisWorkbook.Path & "\" & "xyz.xlsx", ThisWorkbook.Path & "\" & "Target folder name" & "\"
End If 

Rename a file without using Loop

If obj_fso.fileexists(ThisWorkbook.Path & "\" & "xyz.xlsx") Then
        obj_fso.getfile(ThisWorkbook.Path & "\" & "xyz.xlsx").Name = "abc.xlsx"
End If


Comments

Popular posts from this blog

Power Automate - Automatically fetch data from Power BI in to Excel and Send the copy of the Excel file via Email

Function to Paste Excel Range on Outlook Mail Body (In text not image) Function Name - rngHTML()

Separate Text (Characters) & Numbers from Alpha Numeric String Using Formula and Macro (VBA)