Operacje plikowe (2)
Transkrypt
Operacje plikowe (2)
(C) 2005 RoG@j 2005-03-10 Usuwanie folderów Operacje plikowe (2) RmDir Kill CurDir Dir Usuwanie plików ! ! ! Instrukcja Kill usuwa pliki zapisane w folderze Argumentem jest ścieżka dostępu zakończona nazwą pliku Kill pozwala na używanie znaków uniwersalnych w nazwach plików ! ! ! Potrzebę określenia, jaka jest ścieżka bieżąca realizuje funkcja CurrDir() (ang. Current Directory) CurDir ([LiteraDysku]) Argument LiteraDysku jest opcjonalny ! ! VBA 16 ! ! ! Uwaga: litera dysku a nie nazwa dysku – w nazwie dysku jest dwukropek! Jeżeli nie zostanie podana litera dysku funkcja zwraca nazwę z bieżącego dysku Folder można usunąć za pomocą instrukcji RmDir (Remove Directory) Argumentem jest ścieżka dostępu do folderu RmDir można używać jedynie wobec pustych folderów (w których nie ma plików!) Jak usunąć drzewo folderów??? Przykłady usuwania folderów ! Kill ”Fotka.jpg” ! ! ! Usunięcie pliku Fotka.jpg znajdujący się w bieżącym (aktualnym) folderze Kill ”D:\Fotki\*.* ! * - zastępuje dowolny ciąg znaków ? - zastępuje jeden znak Odczytywanie ścieżki bieżącej ! ! Usunięcie wszystkich plików z folderu Fotki znajdującego się na dysku D: Kill ”E:\Word\*.do? ! Usunięcie z katalogu Word na dysku E: wszystkich plików z rozszerzeniem zaczynającym się od do Ścieżka bieżąca - przykłady ! Wyświetlenie bieżącej ścieżki dostępu na aktualnym dysku Sub Biezaca Dim Sciezka As String Sciezka=CurDir() MsgBox Sciezka End Sub 1 (C) 2005 RoG@j 2005-03-10 Czytanie zawartości folderu ! ! ! Z poziomu VBA można sprawdzić zawartość wybranego folderu Dir [(Sciezka [,Atrybuty])] Nawiasy [] oznaczają, że parametr jest opcjonalny i może zostać pominięty Jeśli nie ma żadnego parametru zostanie utworzona lista wszystkich plików znajdujących się w aktualnym katalogu A gdy nie ma pliku??? ! ! Jeżeli plik o podanej nazwie (na przykład szkieletowej) istnieje funkcja zwraca łańcuch, w którym jest jego nazwa Jeżeli plik nie zostanie odnaleziony funkcja zwraca pusty ciąg znaków Przykład ! Wypisz nazwy wszystkich plików o rozszerzeniu TXT znajdujących się w bieżącym katalogu Sub Pliki() Dim Nazwa As String Nazwa = Dir("*.txt") MsgBox Nazwa End Sub Atrybuty… ! ! Funkcje Dir można wykorzystać do szukania funkcji o określonym atrybucie Atrybuty plików w Windows: ! ! ! ! Stałe określająca atrybut ! vbNormal ! ! ! ! VBA 16 1 vbDirectory ! ! 2 ! 4 16 Katalog (folder) vbArchive ! Plik ukryty vbSystem ! ! Tylko do odczytu vbHidden ! Atrybuty… Status normalny (domyślny) vbReadOnly ! 0 Archive Read Only Hidden System 32 Plik zmieniony od chwili ostatniego wykonania kopii zapasowej 1+2+4=7 ! Read Only + Hidden + System Plik systemowy 2