VBA에서 파일 삭제
예제와 함께 VBA를 사용하여 파일을 삭제하는 다양한 방법을 소개합니다.
VBA에서 파일 삭제
모든 사용자가 프로세스 중에 중간 파일을 가지고 있는 것은 정상이지만 이러한 파일은 프로세스가 완료된 후에 삭제해야 합니다. 예를 들어 첨부 파일이 포함된 이메일을 자주 받습니다.
이러한 파일은 작업에 필요한 경우에만 유용합니다.
이러한 파일은 시스템 성능을 저하시킬 수 있는 컴퓨터(또는 드라이브)의 추가 공간을 차지하므로 일정 시간이 지나면 삭제해야 합니다.
이러한 추가 파일을 수동으로 삭제하려면 시간이 걸립니다. 한 번 이상 중간 파일을 삭제하기로 결정한 경우 그러한 파일을 삭제하는 것을 잊을 수도 있습니다.
간단한 VBA 코드를 사용하여 이러한 추가 파일을 삭제할 수 있습니다.
여러 코드는 파일 삭제를 위한 다양한 방법론을 다룹니다. 주요 코드 중 일부는 다음과 같습니다.
- VBA를 사용하여 단일 파일을 삭제합니다.
- VBA를 사용하여 모든 텍스트 파일을 삭제합니다.
- VBA를 사용하여 모든 Excel 파일을 삭제합니다.
- VBA를 사용하여 전체 폴더를 삭제합니다.
VBA에서 단일 파일 삭제
Excel 파일을 삭제하는 방법에는 두 가지가 있습니다. 하나는 FileSystemObject
라는 Kill
기능입니다.
예제를 살펴보고 Kill
기능을 사용하여 단일 파일을 삭제해 봅시다.
Sub DeleteFileWithKill()
Kill("D:/Test/testFile.xlsx")
End Sub
코드를 실행하기 전에:
코드를 실행한 후:
위의 예에서 알 수 있듯이 kill
기능을 사용하여 파일을 삭제하는 것은 매우 쉽습니다.
FileSystemObject
메서드에서 먼저 변수를 선언하고 개체 함수를 만들고 파일 경로를 지정한 다음 DeleteFile
함수를 사용합니다. 전체 코드는 아래와 같습니다.
Sub DeleteFileWithFSO()
Dim FileSysObj
Dim FileToDel As String
Set FileSysObj = CreateObject("Scripting.FileSystemObject")
FileToDel = "D:\Test\testFile.xlsx"
FileSysObj.DeleteFile FileToDel, True
End Sub
FileSystemObject
메서드를 실행하기 전에:
FileSystemObject
메서드를 실행한 후:
파일의 존재를 확인한 다음 삭제하려면 VBA 코드가 아래에 있습니다.
Sub DeleteFileAfterChecking()
Dim FileSysObj
Dim FileToDelete As String
Set FileSysObj = CreateObject("Scripting.FileSystemObject")
FileToDelete = "D:\Test\testFile.xlsx"
If FileSysObj.FileExists(FileToDelete) Then
FileSysObj.DeleteFile FileToDelete, True
MsgBox "File Deleted"
Else
MsgBox "There is no file with the name you provided!"
End If
End Sub
출력:
위의 예제에서 볼 수 있듯이 FileSystemObject
를 사용하면 파일이 존재하는 경우 해당 파일을 삭제하도록 할 수도 있습니다. 존재하지 않는 경우 파일이 존재하지 않는다는 메시지를 표시할 수 있습니다.
VBA의 모든 텍스트 파일 삭제
또한 VBA를 사용하여 .txt
와 같은 특정 확장자의 모든 파일을 삭제할 수 있습니다. 아래와 같이 예제를 통해 특정 폴더에 있는 .txt
파일을 모두 삭제해 봅시다.
Sub DeleteTxtFile()
Kill "D:\Test\Dst\*.txt"
End Sub
코드를 실행하기 전에 출력:
코드 실행 후 출력:
VBA에서 모든 Excel 파일 삭제
또한 VBA를 사용하여 .xlsx
와 같은 특정 확장자의 모든 파일을 삭제할 수 있습니다. 아래와 같이 예제를 통해 특정 폴더에 있는 .xlsx
파일을 모두 삭제해 보겠습니다.
Sub DeleteXlFile()
Kill "D:\Test\Dst\*.xlsx"
End Sub
코드를 실행하기 전에 출력:
코드 실행 후 출력:
VBA에서 폴더 삭제
VBA는 전체 폴더를 삭제하는 솔루션을 제공합니다. RmDir
이라는 함수는 전체 폴더를 삭제하는 데 사용됩니다.
아래와 같이 예제를 통해 전체 폴더를 삭제해 봅시다.
Sub DeleteFolder()
RmDir "D:\Test\Dst\"
End Sub
코드를 실행하기 전에 출력:
코드 실행 후 출력: