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