VBA Pliki i katalogi – Obiekt systemu plików

Obiekt systemu plików

Jest to dodatkowa biblioteka, która oferuje przejrzysty, zorientowany obiektowo dostęp do wszystkich typowych funkcji plików i katalogów.
Obiekt ten nie jest częścią biblioteki Office i wymaga dodania dodatkowego odwołania do projektu.
SS – Okno dialogowe Referencje
Po dodaniu referencji można użyć Przeglądarki obiektów, aby dowiedzieć się więcej o obiektach.
Microsoft Scripting Runtime jest biblioteką, którą można dodać do projektu za pomocą (Narzędzia > Referencje).
Biblioteka ta znajduje się w C:\Windows\System32\scrrun.dll

Dim objFSOFileSystemObject As Scripting.FileSystemObject 
Set objFSOFileSystemObject = CreateObject("Scripting.FileSystemObject")

Typy obiektów

FileSystemObject – Jest to również obiekt najwyższego poziomu używany do dostępu do napędów, folderów i plików.
Drive – Należy do kolekcji Drives i odnosi się do konkretnego dysku lokalnego lub sieciowego.
Folder – Ten obiekt odnosi się do konkretnego folderu.
File – Ten obiekt odnosi się do konkretnego pliku.
TextStream – Ten obiekt odnosi się do strumienia tekstu, który może być odczytywany z, zapisywany do lub dołączany do pliku tekstowego.
Dictionary – Jest to obiekt najwyższego poziomu

Obiekt FileSystemObject

Obiekt FileSystemObject jest obiektem, który faktycznie daje dostęp do plików systemu za pomocą 27 metod i tylko jednej właściwości.
Podczas tworzenia folderów musisz je tworzyć, jeden poziom na raz. Nie możesz utworzyć folderu i podfolderu w tym samym czasie.
Powinieneś zawsze używać nazw serwerów zamiast liter, ponieważ różne komputery mogą mieć przypisane różne litery.
Nie będziemy próbować definiować wszystkich metod, ale przejrzymy kilka z nich, gdy będziemy ich używać w przykładach kodu nieco później.
Dodatkowo, FileSystemObject jest używany do zwracania obiektu, który może tworzyć, czytać i edytować pliki tekstowe (ASCII i Unicode).
Po utworzeniu nowej instancji obiektu FileSystemObject można pracować z napędami, folderami i plikami, które zapewniają łatwy dostęp do systemu plików i upraszczają proces odczytu i zapisu do pliku tekstowego.

Dim objFSOFileSystemObject As New Scripting.FileSystemObject 

Alternatywnie

Dim objFSOFileSystemObject As Scripting.Dictionary 
Set objFSOFileSystemObject = New Scripting.FileSystemObject

Alternatywnie

Dim objFSOFileSystemObject As Object 
Set objFSOFileSystemObject = CreateObject("Scripting.FileSystemObject")

Important

Niestety FileSystemObject nie nadaje się do pracy z danymi binarnymi. Do tego celu należy użyć tradycyjnych funkcji.

.