VBA-filer og mapper – filsystemobjekt

Filsystemobjekt

Dette er et ekstra bibliotek, der giver klar, objektorienteret adgang til alle de almindelige fil- og mappefunktioner.
Dette objekt er ikke en del af Office-biblioteket og kræver, at du tilføjer en ekstra reference til dit projekt.
SS – Dialogboksen Referencer
Når referencen er blevet tilføjet, kan du bruge objektbrowseren til at finde ud af mere om objekterne.
Microsoft Scripting Runtime er et bibliotek, der kan tilføjes til et projekt ved hjælp af (Værktøjer > Referencer).
Dette bibliotek ligger i C:\Windows\System32\scrrun.dll

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

Objekttyper

FileSystemObject – Dette er også et objekt på øverste niveau, der bruges til at få adgang til drev, mapper og filer.
Drive – Dette hører til samlingen Drives og henviser til et bestemt lokalt drev eller netværksdrev.
Folder – Dette objekt henviser til en bestemt mappe.
File – Dette objekt henviser til en bestemt fil.
TextStream – Dette objekt henviser til en tekststrøm, der kan læses fra, skrives til eller føjes til en tekstfil.
Dictionary – Dette er objektet på øverste niveau

FileSystemObject Object

FileSystemObject-objektet er det objekt, der rent faktisk giver dig adgang til et systems filer ved hjælp af 27 metoder og kun én egenskab.
Når du opretter mapper, skal du oprette dem, et niveau ad gangen. Du kan ikke oprette en mappe og en undermappe på samme tid.
Du bør altid bruge servernavnene i stedet for bogstaverne, da forskellige pc’er kan have fået tildelt forskellige bogstaver
Vi vil ikke forsøge at definere alle metoderne, men vi vil gennemgå nogle få, når vi bruger dem i kodeeksempler lidt senere.
Dertil kommer, at FileSystemObject bruges til at returnere et objekt, der kan oprette, læse og redigere tekstfiler (ASCII og Unicode).
Når du har en ny instans af FileSystemObject, kan du arbejde med drev, mapper og filer, som giver nem adgang til filsystemet og forenkler processen med at læse og skrive til en tekstfil.

Dim objFSOFileSystemObject As New Scripting.FileSystemObject 

Alternativt

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

Alternativt

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

Vigtigt

Der FileSystemObject er desværre ikke egnet til at arbejde med binære data. Til dette skal du bruge de traditionelle funktioner.