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