'********************************************************************************************************** ' Nazwa: czyMozliwyZapisDoPlikuTekstowego ' Autor: mielk | 2012-12-02 ' ' Opis: Funkcja sprawdzająca czy możliwe jest zapisywanie danych do pliku tekstowego o ' podanej ścieżce. Jeżeli plik o takiej ścieżce jeszcze nie istnieje, funkcja ' sprawdza czy możliwe jest utworzenie pliku o takiej ścieżce. ' ' Argumenty: ' sciezka Ścieżka do pliku, która ma być sprawdzony przez funkcję. ' ' Zwraca: ' Boolean True - jeżeli możliwe jest zapisywania do pliku tekstowego o podanej ścieżce. ' False - jeżeli użytkownik nie ma uprawnień do zapisu w folderze, w którym znajduje ' się dany plik tekstowy lub plik ten nie istnieje, ale przy obecnym poziomie ' uprawnień niemożliwe jest jego stworzenie. ' ' --- Zmiany ---------------------------------------------------------------------------------------------- ' 2012-12-02 mielk Utworzenie funkcji. '********************************************************************************************************** Public Function czyMozliwyZapisDoPlikuTekstowego(sciezka As String) As Boolean Const NAZWA_METODY As String = "czyMozliwyZapisDoPlikuTekstowego" 'Stała definiująca dopuszczalne rozszerzenia plików tekstowych. Dim ROZSZERZENIE_TXT As Variant: ROZSZERZENIE_TXT = Array("txt", "csv") '------------------------------------------------------------------------------------------------------ Static objFSO As Object 'Późne wiązanie pozwala korzystać z funkcji nawet jeżeli 'nie jest załadowana biblioteka Microsoft Scripting Runtime. Dim strNazwaDysku As String Dim strFolderBazowy As String Dim strFolderNadrzedny As String Dim strRozszerzenie As String '------------------------------------------------------------------------------------------------------ 'Tworzy instancję klasy FileSystemObject, jeżeli nie została jeszcze stworzona. ---------------------| If objFSO Is Nothing Then '| Set objFSO = VBA.CreateObject("Scripting.FileSystemObject") '| End If '| '----------------------------------------------------------------------------------------------------| With objFSO 'Sprawdź czy istnieje plik tekstowy o podanej ścieżce. Jeżeli tak sprawdź czy nie jest ----------| 'chroniony przed zapisem. '| If .FileExists(sciezka) Then '| '| czyMozliwyZapisDoPlikuTekstowego = Not (VBA.GetAttr(sciezka) And VBA.vbReadOnly) '| '| Else '| '| 'Sprawdź czy istnieje dysk określony w podanej ścieżce. ---------------------------------| '| strNazwaDysku = .GetDriveName(sciezka) '| '| If .DriveExists(strNazwaDysku) Then '| '| '| '| 'Sprawdź czy rozszerzenie podanego pliku jest zgodne z którymś ze textfile. -----| '| '| 'zdefiniowanych rozszerzeń plików tekstowych. '| '| '| strRozszerzenie = .GetExtensionName(sciezka) '| '| '| If czyJestWTablicy(strRozszerzenie, ROZSZERZENIE_TXT, False) Then '| '| '| '| '| '| 'Uzyskaj folder bazowy tego pliku tekstowego. ---------------------------| '| '| '| strFolderNadrzedny = .GetParentFolderName(sciezka) '| '| '| '| strFolderBazowy = .GetParentFolderName(sciezka) '| '| '| '| Do Until .FolderExists(strFolderBazowy) '| '| '| '| strFolderBazowy = .GetParentFolderName(strFolderBazowy) '| '| '| '| Loop '| '| '| '| '------------------------------------------------------------------------| '| '| '| '| '| '| '| '| '| '------------------------------------------------------------------------| '| '| '| If VBA.StrComp(strFolderBazowy, strFolderNadrzedny, vbTextCompare) = 0 _ Then '| '| '| '| 'Folder docelowy już istnieje. '| '| '| '| czyMozliwyZapisDoPlikuTekstowego = _ czyMozliwyZapisDoFolderu(strFolderNadrzedny) '| '| '| '| Else '| '| '| '| 'Folder docelowy musi zostać stworzony. '| '| '| '| czyMozliwyZapisDoPlikuTekstowego = _ czyMoznaDodawacPodfoldery(strFolderBazowy) '| '| '| '| End If '| '| '| '| '------------------------------------------------------------------------| '| '| '| '| '| '| '| '| '| Else '| '| '| '| '| '| 'Rozszerzenie pliku nie pasuje do definicji pliku tekstowego. '| '| '| czyMozliwyZapisDoPlikuTekstowego = False '| '| '| '| '| '| End If '| '| '| '---- [If .FileExists(sciezka) Then] --------------------------------------------| '| '| '| '| Else '| '| '| '| 'Dysk określony w podanej ścieżce nie istnieje. '| '| czyMozliwyZapisDoPlikuTekstowego = False '| '| '| '| End If '| '| '-------- [If .FileExists(sciezka) Then] ------------------------------------------------| '| '| End If '| '------------ [If .FileExists(sciezka) Then] ----------------------------------------------------| End With End Function '********************************************************************************************************** ' Nazwa: czyJestWTablicy ' Autor: mielk | 2011-07-19 ' ' Opis: Funkcja sprawdzająca czy podany tekst bazowy znajduje się w danej tablicy. ' ' Argumenty: ' wartosc Tekst bazowy, który będzie poszukiwany w tablicy. ' tablica Tablica wartości tekstowych, do której będzie porównywany podany tekst bazowy. ' Parametr [tablica] musi być tablicą jednowymiarową, która zawiera tylko wartości ' typów prostych (dopuszczalne są wartości innego typu niż String), nie może zawierać ' obiektów (w takiej sytuacji zwrócony zostanie wyjątek ObiektyWTablicy). ' wielkoscZnakowMaZnaczenie ' Argument opcjonalny typu Boolean. ' Decyduje o tym, czy przy sprawdzaniu zgodności początku tekstu bazowego z podanym ' ciągiem znaków, funkcja bierze pod uwagę wielkość liter. ' Domyślne ustawienie tego parametru to False, co oznacza, że funkcja nie rozróżnia ' wielkości znaków. ' ' Zwraca: ' Boolean True - jeżeli tekst bazowy znajduje się w podanej tablicy. ' False - jeżeli żaden z elementów tablicy nie jest równy podanemu tekstowi bazowemu. ' ' Wyjątki: ' NieTablica Zwracany, kiedy przekazany do funkcji argument wejściowy [tablica] nie ' jest tablicą lub jest tablicą mającą więcej niż jeden wymiar. ' ObiektyWTablicy Zwracany w sytuacji, gdy przekazana do funkcji tablica oprócz wartości ' typów prostych, zawiera jakikolwiek obiekt. ' ' ' --- Zmiany ---------------------------------------------------------------------------------------------- ' 2011-07-19 mielk Utworzenie funkcji. '********************************************************************************************************** Public Function czyJestWTablicy(wartosc As String, tablica As Variant, _ Optional wielkoscZnakowMaZnaczenie As Boolean = False) As Boolean Const NAZWA_METODY As String = "startsWith" Dim SEPARATOR As String: SEPARATOR = VBA.Chr(0) '------------------------------------------------------------------------------------------------------ Dim tempStr As String Dim uMetodaPorownania As VBA.VbCompareMethod '------------------------------------------------------------------------------------------------------ 'Funkcja sprawdza czy podany argument [tablica] jest tablicą 1D. ------------------------------------| If liczWymiary(tablica) <> 1 Then GoTo NieTablica '| '----------------------------------------------------------------------------------------------------| 'Zamienia podany przez użytkownika parametr typu Boolean [wielkoscZnakowMaZnaczenie] na jedną ze ----| 'stałych enumeracji [VbCompareMethod]. '| If wielkoscZnakowMaZnaczenie Then '| uMetodaPorownania = VBA.vbBinaryCompare '| Else '| uMetodaPorownania = VBA.vbTextCompare '| End If '| '----------------------------------------------------------------------------------------------------| 'Funkcja próbuje przekonwertować podaną tablicę na ciąg tekstowy przy użyciu wbudowanej funkcji -----| 'VBA Join. Jeżeli wśród elementów tablic jest jakiś obiekt, zostanie wygenerowany błąd '| 'ObiektyWTablicy. '| On Error GoTo ObiektyWTablicy '| tempStr = SEPARATOR & VBA.Join(tablica, SEPARATOR) & SEPARATOR '| On Error GoTo 0 '| '----------------------------------------------------------------------------------------------------| czyJestWTablicy = VBA.InStr(1, tempStr, SEPARATOR & wartosc & SEPARATOR, uMetodaPorownania) '========================================================================================================== PunktWyjscia: Exit Function '----------------------------------------------- NieTablica: 'Obsługa błędów dla przypadku, kiedy podany argument [tablica] nie jest tablicą lub posiada więcej niż 'jeden wymiar. GoTo PunktWyjscia ObiektyWTablicy: 'Obsługa błędów dla przypadku, jeżeli w tablicy [tablica] znajduje się jakikolwiek obiekt, który nie 'może zostać przekonwertowany na typ String. GoTo PunktWyjscia End Function '********************************************************************************************************** ' Nazwa: liczWymiary ' Autor: mielk | 2012-03-03 ' ' Opis: Funkcja zwraca liczbę wymiarów podanej tablicy VBA. ' ' Argumenty: ' tablica Tablica, której liczba wymiarów ma zostać zwrócona. ' ' Zwraca: ' Integer Liczba wymiarów podanej tablicy VBA. ' Jeżeli podana wartość nie jest tablicą lub jest zadeklarowana jako tablica ' dynamiczna, ale nie przypisano jeszcze do niej liczby wymiarów, zwracana ' jest wartość 0. ' ' ' --- Zmiany ---------------------------------------------------------------------------------------------- ' 2012-03-03 mielk Utworzenie funkcji ' 2014-06-15 mielk Zwracany typ zmieniony na Integer, żeby umożliwić zwracanie wartości -1, ' jeżeli podany parametr nie jest w ogóle tablicą. '********************************************************************************************************** Public Function liczWymiary(tablica As Variant) As Integer Const NAZWA_METODY As String = "liczWymiary" '------------------------------------------------------------------------------------------------------ Dim granica As Long '------------------------------------------------------------------------------------------------------ If VBA.IsArray(tablica) Then On Error GoTo NieistniejacyWymiar Do granica = UBound(tablica, liczWymiary + 1) liczWymiary = liczWymiary + 1 Loop Else liczWymiary = -1 End If '---------------------------------------------------------------------------------------------------------- NieistniejacyWymiar: End Function '********************************************************************************************************** ' Nazwa: czyMozliwyZapisDoFolderu ' Autor: mielk | 2012-12-02 ' ' Opis: Funkcja sprawdzająca czy aktualny użytkownik ma prawo do zapisu w danym folderze, ' a więc może dodawać, usuwać i modyfikować pliki w tym folderze. ' ' Argumenty: ' sciezkaDoFolderu Ścieżka folderu, który ma zostać sprawdzony pod kątem możliwości zapisu. ' ' Zwraca: ' Boolean True - jeżeli użytkownik ma uprawnienia aby dodawać, usuwać i modyfikować pliki ' w danym folderze. ' False - w innym przypadku. ' ' Wyjątki: ' NieistniejacyFolder Zwracany, jeżeli folder podany jako argument wejściowy nie istnieje. ' ' ' ' --- Zmiany ---------------------------------------------------------------------------------------------- ' 2012-12-02 mielk Utworzenie funkcji. '********************************************************************************************************** Public Function czyMozliwyZapisDoFolderu(sciezkaDoFolderu As String) As Boolean Const NAZWA_METODY As String = "czyMozliwyZapisDoFolderu" Const NAZWA_PLIKU_TEMP As String = "TestFile.txt" '------------------------------------------------------------------------------------------------------ Static objFSO As Object 'Późne wiązanie pozwala korzystać z funkcji nawet jeżeli 'nie jest załadowana biblioteka Microsoft Scripting Runtime. Dim strPlikTemp As String '------------------------------------------------------------------------------------------------------ 'Tworzy instancję klasy FileSystemObject, jeżeli nie została jeszcze stworzona. ---------------------| If objFSO Is Nothing Then '| Set objFSO = VBA.CreateObject("Scripting.FileSystemObject") '| End If '| '----------------------------------------------------------------------------------------------------| 'Sprawdź czy podany folder w ogóle istnieje. --------------------------------------------------------| If objFSO.FolderExists(sciezkaDoFolderu) Then '| '| 'Stwórz pełną ścieżkę do pliku pomocniczego. '| strPlikTemp = sciezkaDoFolderu '| If Not VBA.right$(sciezkaDoFolderu, 1) = "\" Then strPlikTemp = strPlikTemp & "\" '| strPlikTemp = unikatowaSciezka(strPlikTemp & NAZWA_PLIKU_TEMP) '| '| '| 'Spróbuj utworzyć plik pomocniczy. ------------------------------------------------------| '| On Error Resume Next '| '| Call objFSO.CreateTextFile(strPlikTemp) '| '| On Error GoTo 0 '| '| '----------------------------------------------------------------------------------------| '| '| '| 'Funkcja sprawdza czy tymczasowy plik został utworzony. Jeżeli tak, oznacza to, że ------| '| 'użytkownik ma uprawnienia do zapisu do podanego folderu. '| '| 'W takiej sytuacji funkcja zwraca wartość True i kasuje plik tymczasowy. '| '| If objFSO.FileExists(strPlikTemp) Then '| '| czyMozliwyZapisDoFolderu = True '| '| Call objFSO.usunPlik(strPlikTemp) '| '| End If '| '| '----------------------------------------------------------------------------------------| '| '| Else '| '| GoTo NieistniejacyFolder '| '| End If '| '-------- [If objFSO.FolderExists(sciezkaDoFolderu) Then] -------------------------------------------| '========================================================================================================== ExitPoint: Exit Function '---------------------------------------------------------------------------------------------------------- NieistniejacyFolder: 'Obsługa błędów dla sytuacji, kiedy podany folder nie istnieje. GoTo ExitPoint End Function '********************************************************************************************************** ' Nazwa: unikatowaSciezka ' Autor: mielk | 2012-12-02 ' ' Opis: Funkcja przekształca podaną ścieżkę do pliku, tak aby była ona unikatowa. ' ' Argumenty: ' sciezka Ścieżka do pliku, która ma być przetworzona przez funkcję. ' ' Zwraca: ' String Podana ścieżka, przekształcona do postaci unikatowej ścieżki do pliku. ' ' Jeżeli plik o podanej ścieżce nie istnieje, zwracana jest oryginalna ' ścieżka do pliku. ' ' Jeżeli plik o podanej ścieżce istnieje, zwracana jest oryginalna ścieżka po ' uprzednim dodaniu do nazwy pliku liczby porządkowej w nawiasie. ' ' ' Przykład: ' --------------------------------------------------------------------------------- ' * Jeżeli funkcja została wywołana dla ścieżki C:\test.txt, a w systemie plików nie ' ma jeszcze takiego pliku, zwracana jest ścieżka w oryginalnej postaci ' (C:\test.txt). ' * Jeżeli jednak istnieje już plik o takiej nazwie, leżący w tym samym folderze, ' zwrócona zostanie ścieżka C:\test (1).txt. ' * Jeżeli również taki plik już istnieje, zwrócona ścieżka będzie miała ' postać: C:\test (2).txt, itd. ' ' ' Uwaga: Funkcja nie sprawdza czy podana ścieżka do pliku jest prawidłowo skonstruowana. ' W przypadku, gdy do funkcji jest przekazywana niepoprawna ścieżka, jest ona ' zwracana bez żadnych zmian, ponieważ funkcja ustali, że plik o podanej ścieżce ' nie istnieje (w końcu nie może istnieć, skoro jest to nieprawidłowa ścieżka) i nie ' ma podstaw, żeby w jakikolwiek sposób ją zmieniać. ' ' ' --- Zmiany ---------------------------------------------------------------------------------------------- ' 2012-12-02 mielk Utworzenie funkcji. '********************************************************************************************************** Public Function unikatowaSciezka(sciezka As String) As String Const NAZWA_METODY As String = "unikatowaSciezka" '------------------------------------------------------------------------------------------------------ Static objFSO As Object 'Późne wiązanie pozwala korzystać z funkcji nawet jeżeli 'nie jest załadowana biblioteka Microsoft Scripting Runtime. Dim strRozszerzeniePliku As String Dim strNazwaPliku As String Dim strFolderNadrzedny As String Dim strTempSciezka As String Dim intLicznik As Integer '------------------------------------------------------------------------------------------------------ 'Tworzy instancję klasy FileSystemObject, jeżeli nie została jeszcze stworzona. ---------------------| If objFSO Is Nothing Then '| Set objFSO = VBA.CreateObject("Scripting.FileSystemObject") '| End If '| '----------------------------------------------------------------------------------------------------| With objFSO 'Sprawdź czy plik o podanej ścieżce już istnieje. -----------------------------------------------| If .FileExists(sciezka) Then '| '| 'Jeżeli podana ścieżka już istnieje, funkcja przekształca ścieżkę wejściową w ten sposób, '| 'że dołącza do niej kolejne liczby w nawiasie. '| strFolderNadrzedny = .GetParentFolderName(sciezka) '| If Not VBA.right$(strFolderNadrzedny, 1) = "\" Then strFolderNadrzedny = _ strFolderNadrzedny & "\" '| strNazwaPliku = .GetBaseName(sciezka) '| strRozszerzeniePliku = "." & .GetExtensionName(sciezka) '| '| '------------------------------------------------------------------------------------| '| Do '| '| intLicznik = intLicznik + 1 '| '| strTempSciezka = strFolderNadrzedny & strNazwaPliku & _ " (" & intLicznik & ")" & strRozszerzeniePliku '| '| Loop While .FileExists(strTempSciezka) '| '| '------------------------------------------------------------------------------------| '| '| unikatowaSciezka = strTempSciezka '| '| Else '| '| 'Jeżeli nie znaleziony został plik o podanej nazwie, oznacza to, że nie istnieje, więc '| 'ścieżka wejściowa może być zwrócona bez dokonywania jakichkolwiek zmian. '| unikatowaSciezka = sciezka '| '| End If '| '-------- [If .FileExists(sciezka) Then] --------------------------------------------------------| End With End Function '********************************************************************************************************** ' Nazwa: czyMoznaDodawacPodfoldery ' Autor: mielk | 2012-12-02 ' ' Opis: Funkcja sprawdzająca czy aktualny użytkownik ma uprawnienia, żeby dodawać ' podfoldery do danego folderu. ' ' Argumenty: ' sciezkaDoFolderu Ścieżka do folderu, który ma zostać sprawdzony. ' ' Zwraca: ' Boolean True - jeżeli do danego folderu można dodawać podfoldery. ' False - w innym przypadku. ' ' Wyjątki: ' NieistniejacyFolder Wywoływany jeżeli folder o podanej ścieżce nie istnieje. ' ' ' --- Zmiany ---------------------------------------------------------------------------------------------- ' 2012-12-02 mielk Utworzenie funkcji. '********************************************************************************************************** Public Function czyMoznaDodawacPodfoldery(sciezkaDoFolderu As String) As Boolean Const NAZWA_METODY As String = "czyMoznaDodawacPodfoldery" Const SUBFOLDER_NAME As String = "TestFolder" '------------------------------------------------------------------------------------------------------ Static objFSO As Object 'Późne wiązanie pozwala korzystać z funkcji nawet jeżeli 'nie jest załadowana biblioteka Microsoft Scripting Runtime. Dim strTempFolder As String '------------------------------------------------------------------------------------------------------ 'Tworzy instancję klasy FileSystemObject, jeżeli nie została jeszcze stworzona. ---------------------| If objFSO Is Nothing Then '| Set objFSO = VBA.CreateObject("Scripting.FileSystemObject") '| End If '| '----------------------------------------------------------------------------------------------------| 'Sprawdź czy podany folder w ogóle istnieje. --------------------------------------------------------| If objFSO.FolderExists(sciezkaDoFolderu) Then '| '| 'Stwórz pełną ścieżkę do folderu tymczasowego. '| strTempFolder = sciezkaDoFolderu '| If Not VBA.right$(sciezkaDoFolderu, 1) = "\" Then strTempFolder = strTempFolder & "\" '| strTempFolder = unikatowaNazwaFolderu(strTempFolder & SUBFOLDER_NAME) '| '| 'Spróbuj stworzyć folder tymczasowy. ----------------------------------------------------| '| On Error Resume Next '| '| Call objFSO.utworzFolder(strTempFolder) '| '| On Error GoTo 0 '| '| '----------------------------------------------------------------------------------------| '| '| 'Sprawdza czy folder pomocniczny został utworzony. Jeżeli tak, oznacza to, że -----------| '| 'możliwe jest dodawanie podfolderów w folderze źródłowym. W takiej sytuacji '| '| 'funkcja zwraca wartość True i usuwa folder tymczasowy. '| '| If objFSO.FolderExists(strTempFolder) Then '| '| czyMoznaDodawacPodfoldery = True '| '| Call objFSO.usunFolder(strTempFolder) '| '| End If '| '| '----------------------------------------------------------------------------------------| '| '| Else '| '| GoTo NieistniejacyFolder '| '| End If '| '-------- [If objFSO.FolderExists(sciezkaDoFolderu) Then] -------------------------------------------| '========================================================================================================== ExitPoint: Exit Function '---------------------------------------------------------------------------------------------------------- NieistniejacyFolder: 'Obsługa błędów dla sytuacji, kiedy podany folder nie istnieje. GoTo ExitPoint End Function '********************************************************************************************************** ' Nazwa: unikatowaNazwaFolderu ' Autor: mielk | 2012-12-02 ' ' Opis: Funkcja przekształca podaną nazwę folderu, tak aby była ona unikatowa w ramach ' folderu, do którego należy. ' ' Argumenty: ' nazwaFolderu Nazwa folderu, która ma być przetworzona przez funkcję. ' ' Zwraca: ' String Podana ścieżka folderu, przekształcona do takiej postaci aby jego nazwa była ' unikatowa w ramach folderu nadrzędnego. ' ' * Jeżeli folder o podanej ścieżce nie istnieje, zwracana jest oryginalna ścieżka ' folderu. ' ' * Jeżeli folder o podanej ścieżce istnieje, zwracana jest oryginalna ścieżka po ' uprzednim dodaniu do nazwy folderu liczby porządkowej w nawiasie. ' ' ' Przykład: ' --------------------------------------------------------------------------------- ' Jeżeli funkcja została wywołana dla folderu C:\test\ a w systemie plików nie ma ' jeszcze takiego folderu, zwracana jest ścieżka w oryginalnej postaci (C:\test\). ' Jeżeli jednak istnieje już folder o takiej nazwie, leżący w tym samym folderze ' nadrzędnym, zwrócona zostanie ścieżka C:\test (1). Jeżeli również taki folder ' już istnieje, zwrócona ścieżka będzie miała postać: C:\test (2), itd. ' ' ' --- Zmiany ---------------------------------------------------------------------------------------------- ' 2012-12-02 mielk Utworzenie funkcji. '********************************************************************************************************** Public Function unikatowaNazwaFolderu(nazwaFolderu As String) As String Const NAZWA_METODY As String = "unikatowaNazwaFolderu" '------------------------------------------------------------------------------------------------------ Static objFSO As Object 'Późne wiązanie pozwala korzystać z funkcji nawet jeżeli 'nie jest załadowana biblioteka Microsoft Scripting Runtime. Dim strNazwaFolderu As String Dim strFolderNadrzedny As String Dim strTempNazwa As String Dim intLicznik As Integer '------------------------------------------------------------------------------------------------------ 'Tworzy instancję klasy FileSystemObject, jeżeli nie została jeszcze stworzona. ---------------------| If objFSO Is Nothing Then '| Set objFSO = VBA.CreateObject("Scripting.FileSystemObject") '| End If '| '----------------------------------------------------------------------------------------------------| With objFSO 'Sprawdź czy podany folder w ogóle istnieje. ----------------------------------------------------| If .FolderExists(nazwaFolderu) Then '| '| 'Jeżeli folder o podanej nazwie już istnieje, funkcja przekształca sprawdzaną nazwę w ten '| 'sposób, że po oryginalnej nazwie folderu dodaje kolejne liczby w nawiasie. '| strFolderNadrzedny = .GetParentFolderName(nazwaFolderu) '| If Not VBA.right$(strFolderNadrzedny, 1) = "\" Then strFolderNadrzedny = _ strFolderNadrzedny & "\" '| strNazwaFolderu = .GetBaseName(nazwaFolderu) '| '| '------------------------------------------------------------------------------------| '| Do '| '| intLicznik = intLicznik + 1 '| '| strTempNazwa = strFolderNadrzedny & strNazwaFolderu & " (" & intLicznik & ")" '| '| Loop While .FolderExists(strTempNazwa) '| '| '------------------------------------------------------------------------------------| '| '| unikatowaNazwaFolderu = strTempNazwa '| '| Else '| '| 'Jeżeli nie znaleziony został folder o takiej ścieżce, oznacza to, że jest unikatowa '| 'i może być zwrócona w oryginalnej formie. '| unikatowaNazwaFolderu = nazwaFolderu '| '| End If '| '-------- [If .FolderExists(nazwaFolderu) Then] ---------------------------------------------------| End With End Function