Jak usunąć foldery za pomocą vba (z przykładami)
Aby usunąć foldery, możesz użyć następujących metod w VBA:
Metoda 1: Usuń wszystkie pliki w folderze
Sub DeleteFolderContents()
On Error Resume Next
Kill “ C:\Users\bobbi\Desktop\My_Data\*.* ”
On Error GoTo 0
End Sub
To konkretne makro usunie wszystkie pliki w folderze o nazwie My_Data .
Metoda 2: usuń cały folder
SubDeleteFolder ()
On Error Resume Next
'delete all files in folder
Kill “ C:\Users\bobbi\Desktop\My_Data\*.* ”
'delete empty folder
RmDir " C:\Users\bobbi\Desktop\My_Data\ "
On Error GoTo 0
End Sub
To konkretne makro usunie cały folder My_Data , tak że już nie istnieje.
Wiersz On Error Resume Next informuje VBA, że jeśli wystąpi błąd i nie zostanie odnaleziony folder, nie powinien być wyświetlany żaden komunikat o błędzie.
Następnie używamy On Error GoTo 0 , aby zresetować komunikaty o błędach do ustawień domyślnych.
Jeśli chcesz wyświetlić komunikat o błędzie, jeśli folder nie zostanie znaleziony, po prostu usuń te dwie linie z kodu.
Poniższe przykłady pokazują, jak w praktyce zastosować każdą metodę z następującym folderem o nazwie My_Data , który zawiera trzy pliki Excel:
Przykład 1: Usuń wszystkie pliki w folderze za pomocą VBA
Powiedzmy, że chcemy użyć VBA do usunięcia wszystkich plików z folderu o nazwie My_Data .
W tym celu możemy utworzyć następujące makro:
Sub DeleteFolderContents()
On Error Resume Next
Kill “ C:\Users\bobbi\Desktop\My_Data\*.* ”
On Error GoTo 0
End Sub
Gdy uruchomimy to makro i ponownie otworzymy folder, zobaczymy, że wszystkie pliki zostały usunięte:
Przykład 2: Usuń cały folder za pomocą VBA
Jeśli chcesz za pomocą VBA usunąć cały folder o nazwie Moje_Dane , aby już nie istniał, możesz utworzyć następujące makro:
SubDeleteFolder ()
On Error Resume Next
'delete all files in folder
Kill “ C:\Users\bobbi\Desktop\My_Data\*.* ”
'delete empty folder
RmDir " C:\Users\bobbi\Desktop\My_Data\ "
On Error GoTo 0
End Sub
Po uruchomieniu tego makra i otwarciu Eksploratora plików zobaczymy, że folder o nazwie My_Data już nie istnieje:
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:
VBA: Jak policzyć liczbę arkuszy w skoroszycie
VBA: Jak wyodrębnić dane z innego skoroszytu
VBA: Jak usunąć arkusz, jeśli nazwa zawiera określony tekst