Usuń plik


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
'**********************************************************************************************************
' Nazwa:                usunPlik
' Autor:                mielk | 2012-10-14
'
' Opis:                 Funkcja usuwająca z systemu plików plik o podanej ścieżce
'
' Argumenty:
'   sciezka             Ścieżka dostępu do pliku, który ma zostać usunięty.
'
' Zwraca:
'   Boolean             True  - jeżeli plik został usunięty lub plik o podanej ścieżce nie istnieje.
'                       False - jeżeli usunięcie pliku o podanej ścieżce jest niemożliwe (np. jest on
'                               aktualnie używany).
'
'
' --- Zmiany ----------------------------------------------------------------------------------------------
' 2012-10-14        mielk       Utworzenie funkcji.
'**********************************************************************************************************
Public Function usunPlik(sciezka As String) As Boolean
    Const NAZWA_METODY As String = "usunPlik"
    Const ERR_NUM_PLIK_NIE_ISTNIEJE As Long = 53
    '------------------------------------------------------------------------------------------------------
    Static objFSO As Object                 'Późne wiązanie pozwala korzystać z funkcji nawet jeżeli
                                            'nie jest załadowana biblioteka Microsoft Scripting Runtime.
    '------------------------------------------------------------------------------------------------------


    'Tworzy instancję klasy FileSystemObject, jeżeli nie została jeszcze stworzona. ---------------------|
    If objFSO Is Nothing Then                                                                           '|
        Set objFSO = VBA.CreateObject("Scripting.FileSystemObject")                                     '|
    End If                                                                                              '|
    '----------------------------------------------------------------------------------------------------|


    'Spróbuj usunąć podany plik. Jeżeli nie jest to możliwe, kod przeskakuje do labelu . ----------------|
    'NiemozliweUsunieciePliku                                                                           '|
    On Error GoTo NiemozliweUsunieciePliku                                                              '|
    Call objFSO.usunPlik(sciezka)                                                                       '|
    usunPlik = True                                                                                     '|
    '----------------------------------------------------------------------------------------------------|



'==========================================================================================================
ExitPoint:
    Exit Function


'----------------------------------------------------------------------------------------------------------
NiemozliweUsunieciePliku:
    If VBA.Err.number = ERR_NUM_PLIK_NIE_ISTNIEJE Then
        'Plik nie mógł zostać usunięty, ponieważ nie istnieje. W takiej sytuacji funkcja ma zwracać True.
        usunPlik = True
    Else
        'Plik nie może być usunięty z innych powodów (np. jest aktualnie używany).
        usunPlik = False
    End If

    GoTo ExitPoint

End Function