Jak usunąć pliki za pomocą vba (z przykładami)


Możesz użyć instrukcji Kill w VBA, aby usunąć określony plik Excel w określonym folderze.

Oto powszechny sposób użycia tego stwierdzenia w praktyce:

 SubDeleteFile ()

    On Error Resume Next
    Kill "C:\Users\Bob\Desktop\My_Data\soccer_data.xlsx"
    On Error GoTo 0

End Sub

To konkretne makro usuwa plik Excel o nazwie Soccer_data.xlsx znajdujący się w następującym folderze:

C:\Użytkownicy\Bob\Desktop\Moje_Dane

Wiersz On Error Resume Next informuje VBA, że jeśli wystąpi błąd i plik nie zostanie odnaleziony, 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 w przypadku nie odnalezienia pliku, po prostu usuń te dwie linie z kodu.

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: Usuń plik za pomocą VBA

Załóżmy, że mamy następujący folder zawierający trzy pliki Excel:

Załóżmy, że chcemy użyć języka VBA do usunięcia pliku o nazwie football_data.xlsx .

W tym celu możemy utworzyć następujące makro:

 SubDeleteFile ()

    On Error Resume Next
    Kill "C:\Users\Bob\Desktop\My_Data\soccer_data.xlsx"
    On Error GoTo 0

End Sub

Gdy uruchomimy to makro i ponownie otworzymy folder, zobaczymy, że plik o nazwie Soccer_data.xlsx został usunięty:

Wszystkie pozostałe pliki pozostały w folderze nienaruszone.

Jeśli chcesz, aby w przypadku nieistnienia pliku wyświetlił się komunikat o błędzie, możesz użyć następującego makra:

 SubDeleteFile ()

    Kill "C:\Users\Bob\Desktop\My_Data\soccer_data.xlsx"

End Sub

Po uruchomieniu tego makra pojawia się następujący komunikat o błędzie:

Otrzymujemy ten komunikat o błędzie, ponieważ plik Soccer_data.xlsx został już usunięty i nie istnieje już w folderze.

Uwaga : Należy pamiętać, że instrukcja Kill trwale usuwa plik, a nie po prostu wysyła go do Kosza.

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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *