'********************************************************************************************************** ' Nazwa: usunFolder ' Autor: mielk | 2014-08-16 ' ' Opis: Funkcja usuwająca z systemu plików folder o określonej ścieżce. ' ' Argumenty: ' sciezka Ścieżka folderu, który ma zostać usunięty. ' ' Zwraca: ' Boolean True - jeżeli podany folder został usunięty lub w ogóle nie istniał. ' False - jeżeli usunięcie pliku było niemożliwe (np. korzysta z niego w tym momencie ' inny użytkownik). ' ' ' --- Zmiany ---------------------------------------------------------------------------------------------- ' 2014-08-16 mielk Utworzenie funkcji. '********************************************************************************************************** Public Function usunFolder(sciezkaDoFolderu As String) As Boolean Const NAZWA_METODY As String = "usunFolder" Const ERR_NUM_NIE_ZNALEZIONA_SCIEZKA As Long = 76 '------------------------------------------------------------------------------------------------------ Static objFSO As Object 'Późne wiązanie pozwala korzystać z funkcji nawet jeżeli 'nie jest załadowana biblioteka Microsoft Scripting Runtime. Dim sciezka 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 '| '----------------------------------------------------------------------------------------------------| 'Jeżeli podana ścieżka jest zakończona slashem, zostaje on usunięty. sciezka = VBA.IIf(VBA.right$(sciezkaDoFolderu, 1) = "\", _ utnijTekst(sciezkaDoFolderu, 1), sciezkaDoFolderu) 'Spróbuj usunąć podany plik. Jeżeli jest to niemożliwe, kod przeskakuje do labelu -------------------| 'NiemozliweUsunieciePliku. '| On Error GoTo NiemozliweUsunieciePliku '| Call objFSO.usunFolder(sciezka) '| usunFolder = True '| '----------------------------------------------------------------------------------------------------| '========================================================================================================== ExitPoint: Exit Function '---------------------------------------------------------------------------------------------------------- NiemozliweUsunieciePliku: If VBA.Err.number = ERR_NUM_NIE_ZNALEZIONA_SCIEZKA Then 'Folder nie może zostać usunięty, ponieważ nie istnieje. W takiej sytuacji funkcja powinna 'zwrócić wartość True. usunFolder = True Else 'Folder nie może być usunięty z jakiegokolwiek innego powodu. usunFolder = False End If End Function