VBA에서 파일 삭제

Iqra Hasnain 2023년6월21일
  1. VBA에서 파일 삭제
  2. VBA에서 단일 파일 삭제
  3. VBA의 모든 텍스트 파일 삭제
  4. VBA에서 모든 Excel 파일 삭제
  5. VBA에서 폴더 삭제
VBA에서 파일 삭제

예제와 함께 VBA를 사용하여 파일을 삭제하는 다양한 방법을 소개합니다.

VBA에서 파일 삭제

모든 사용자가 프로세스 중에 중간 파일을 가지고 있는 것은 정상이지만 이러한 파일은 프로세스가 완료된 후에 삭제해야 합니다. 예를 들어 첨부 파일이 포함된 이메일을 자주 받습니다.

이러한 파일은 작업에 필요한 경우에만 유용합니다.

이러한 파일은 시스템 성능을 저하시킬 수 있는 컴퓨터(또는 드라이브)의 추가 공간을 차지하므로 일정 시간이 지나면 삭제해야 합니다.

이러한 추가 파일을 수동으로 삭제하려면 시간이 걸립니다. 한 번 이상 중간 파일을 삭제하기로 결정한 경우 그러한 파일을 삭제하는 것을 잊을 수도 있습니다.

간단한 VBA 코드를 사용하여 이러한 추가 파일을 삭제할 수 있습니다.

여러 코드는 파일 삭제를 위한 다양한 방법론을 다룹니다. 주요 코드 중 일부는 다음과 같습니다.

  1. VBA를 사용하여 단일 파일을 삭제합니다.
  2. VBA를 사용하여 모든 텍스트 파일을 삭제합니다.
  3. VBA를 사용하여 모든 Excel 파일을 삭제합니다.
  4. VBA를 사용하여 전체 폴더를 삭제합니다.

VBA에서 단일 파일 삭제

Excel 파일을 삭제하는 방법에는 두 가지가 있습니다. 하나는 FileSystemObject라는 Kill 기능입니다.

예제를 살펴보고 Kill 기능을 사용하여 단일 파일을 삭제해 봅시다.

Sub DeleteFileWithKill()

Kill("D:/Test/testFile.xlsx")

End Sub

코드를 실행하기 전에:

vba에서 kill 함수를 사용하여 단일 파일을 삭제하기 전에

코드를 실행한 후:

vba에서 kill 함수를 사용하여 단일 파일을 삭제한 후

위의 예에서 알 수 있듯이 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 메서드를 실행하기 전에:

vba에서 kill 함수를 사용하여 단일 파일을 삭제하기 전에

FileSystemObject 메서드를 실행한 후:

vba에서 kill 함수를 사용하여 단일 파일을 삭제한 후

파일의 존재를 확인한 다음 삭제하려면 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

출력:

vba에서 파일 존재 여부 확인 후 삭제

위의 예제에서 볼 수 있듯이 FileSystemObject를 사용하면 파일이 존재하는 경우 해당 파일을 삭제하도록 할 수도 있습니다. 존재하지 않는 경우 파일이 존재하지 않는다는 메시지를 표시할 수 있습니다.

VBA의 모든 텍스트 파일 삭제

또한 VBA를 사용하여 .txt와 같은 특정 확장자의 모든 파일을 삭제할 수 있습니다. 아래와 같이 예제를 통해 특정 폴더에 있는 .txt 파일을 모두 삭제해 봅시다.

Sub DeleteTxtFile()
Kill "D:\Test\Dst\*.txt"
End Sub

코드를 실행하기 전에 출력:

vba에서 kill 함수를 사용하여 모든 텍스트 파일을 삭제하기 전에

코드 실행 후 출력:

vba에서 kill 기능을 사용하여 모든 텍스트 파일을 삭제한 후

VBA에서 모든 Excel 파일 삭제

또한 VBA를 사용하여 .xlsx와 같은 특정 확장자의 모든 파일을 삭제할 수 있습니다. 아래와 같이 예제를 통해 특정 폴더에 있는 .xlsx 파일을 모두 삭제해 보겠습니다.

Sub DeleteXlFile()
Kill "D:\Test\Dst\*.xlsx"
End Sub

코드를 실행하기 전에 출력:

vba에서 kill 기능을 사용하여 모든 텍스트 파일을 삭제한 후

코드 실행 후 출력:

vba에서 kill 함수를 사용하여 모든 Excel 파일을 삭제한 후

VBA에서 폴더 삭제

VBA는 전체 폴더를 삭제하는 솔루션을 제공합니다. RmDir이라는 함수는 전체 폴더를 삭제하는 데 사용됩니다.

아래와 같이 예제를 통해 전체 폴더를 삭제해 봅시다.

Sub DeleteFolder()

RmDir "D:\Test\Dst\"

End Sub

코드를 실행하기 전에 출력:

vba에서 kill 함수를 사용하여 단일 파일을 삭제한 후

코드 실행 후 출력:

vba에서 폴더를 삭제한 후

관련 문장 - VBA File