Rozszerzenie pliku


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
'**********************************************************************************************************
' Nazwa:                rozszerzeniePliku
' Autor:                mielk | 2012-03-26
'
' Opis:                 Funkcja zwracająca rozszerzenie podanego pliku.
'
' Argumenty:
'   sciezka             Ścieżka dostępu do pliku, którego rozszerzenie ma zostać zwrócone przez funkcję.
'
' Zwraca:
'   String              Rozszerzenie podanego pliku.
'                       Jeżeli podany argument nie jest prawidłową ścieżką dostępu do pliku, zwrócony
'                       zostanie pusty ciąg znaków.
'
'
' --- Zmiany ----------------------------------------------------------------------------------------------
' 2012-03-26        mielk           Utworzenie funkcji.
'**********************************************************************************************************
Public Function rozszerzeniePliku(sciezka As String) As String
    Const NAZWA_METODY As String = "rozszerzeniePliku"
    Const KROPKA As String = "."
    Const SLASH As String = "\"
    '------------------------------------------------------------------------------------------------------
    Dim ostatniaKropka As Integer
    Dim ostatniSlash As Integer
    '------------------------------------------------------------------------------------------------------

    'Znajdź pozycję ostatniej kropki (.) i ostatniego slasha (\) w podanej ścieżce do pliku.
    ostatniaKropka = VBA.InStrRev(sciezka, KROPKA)
    ostatniSlash = VBA.InStrRev(sciezka, SLASH)

    'Podana ścieżka jest poprawna tylko wtedy, jeżeli znaleziona została przynajmniej jedna kropka ------|
    'znajdująca się po ostatnim slashu.                                                                 '|
    If ostatniaKropka Then                                                                              '|
                                                                                                        '|
        '----------------------------------------------------------------------------------------|      '|
        If ostatniaKropka > ostatniSlash Then                                                   '|      '|
            rozszerzeniePliku = VBA.Mid$(sciezka, ostatniaKropka + 1)                           '|      '|
        End If                                                                                  '|      '|
        '----------------------------------------------------------------------------------------|      '|
                                                                                                        '|
    End If                                                                                              '|
    '----------------------------------------------------------------------------------------------------|


End Function