VBA Fájlok és könyvtárak – Fájlrendszerobjektum

Fájlrendszerobjektum

Ez egy kiegészítő könyvtár, amely egyértelmű, objektumorientált hozzáférést biztosít az összes általános fájl- és könyvtárfunkcióhoz.
Ez az objektum nem része az Office könyvtárnak, és további hivatkozást kell hozzáadni a projekthez.
SS – Hivatkozások párbeszédpanel
A hivatkozás hozzáadása után az Objektumböngésző segítségével többet megtudhat az objektumokról.
A Microsoft Scripting Runtime egy olyan könyvtár, amelyet a (Tools > References) segítségével adhat hozzá a projekthez.
Ez a könyvtár a C:\Windows\System32\scrrun.dll

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

Az objektumok típusai

FileSystemObject – Ez is egy legfelső szintű objektum, amely a meghajtók, mappák és fájlok elérésére szolgál.
Drive – Ez a Drives gyűjteményhez tartozik, és egy adott helyi vagy hálózati meghajtóra utal.
Folder – Ez az objektum egy adott mappára utal.
File – Ez az objektum egy adott fájlra utal.
TextStream – Ez az objektum egy szövegfolyamra utal, amely egy szövegfájlból olvasható, oda írható vagy oda csatolható.
Dictionary – Ez a legfelső szintű objektum

FileSystemObject objektum

A FileSystemObject objektum az az objektum, amely ténylegesen hozzáférést biztosít a rendszer fájljaihoz 27 metódus és mindössze egy tulajdonság segítségével.
A mappák létrehozásakor szintről szintre kell létrehozni őket. Nem hozhatunk létre egyszerre mappát és almappát.
A betűk helyett mindig a kiszolgáló nevét kell használnunk, mivel a különböző PC-khez más-más betűket rendelhetünk
Nem próbáljuk meg az összes metódust definiálni, de néhányat áttekintünk, mivel kicsit később kódpéldákban használjuk őket.
A FileSystemObject objektummal továbbá egy olyan objektumot adhatunk vissza, amely képes szöveges fájlokat (ASCII és Unicode) létrehozni, olvasni és szerkeszteni.
Amikor már van egy új FileSystemObject példánya, akkor tudunk meghajtókkal, mappákkal és fájlokkal dolgozni, amelyek könnyű hozzáférést biztosítanak a fájlrendszerhez, és leegyszerűsítik a szövegfájlok olvasásának és írásának folyamatát.

Dim objFSOFileSystemObject As New Scripting.FileSystemObject 

Alternatíva

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

Alternatíva

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

Fontos

A FileSystemObject sajnos nem alkalmas bináris adatokkal való munkára. Ehhez a hagyományos függvényeket kell használnod.