Excel VBA FileSystemObject (FSO)
VBA FileSystemObject (FSO) darbojas līdzīgi FileDialog, ko izmanto, lai piekļūtu citiem datora failiem, pie kura strādājam. Mēs varam arī rediģēt šos failus nozīmē lasīt vai rakstīt failu. Izmantojot FSO, mēs varam piekļūt failiem, strādāt ar tiem, modificēt failus un mapes. FSO ir svarīgs API rīks, kuram varam piekļūt, izmantojot VBA. VBA projekta ietvaros mums var būt nepieciešams piekļūt dažām mapēm un failiem mūsu datorā, lai paveiktu darbu.
Mēs varam veikt daudzus uzdevumus, izmantojot FSO, piemēram, “pārbaudīt, vai mape ir pieejama vai nav”. Izveidojiet jaunu mapi vai failus, pārdēvējiet esošo mapi vai failus, iegūstiet visu mapē esošo failu sarakstu, kā arī apakšmapju nosaukumus . Visbeidzot, mēs varam kopēt failus no vienas vietas uz citu.
Pat ja ir pieejamas citas funkcijas darbam ar mapēm un failiem, FSO ir vienkāršākā metode darbam ar mapēm un failiem, saglabājot VBA kodu glītu un taisnu.
Ar FileSystemObject mēs varam piekļūt četru veidu objektiem. Zemāk ir tie.
- Disks: Izmantojot šo objektu, mēs varam pārbaudīt, vai minētais disks pastāv vai nav. Mēs varam iegūt uzņēmuma nosaukumu, mērķa veidu un lielumu.
- Mape: Šis objekts ļauj mums pārbaudīt, vai konkrētā mape pastāv. Izmantojot šo objektu, mēs varam izveidot, dzēst, modificēt un kopēt mapes.
- Fails: Šis objekts ļauj mums pārbaudīt, vai konkrētais fails pastāv. Mēs varam izveidot, dzēst, modificēt, kopēt failus, izmantojot šo VBA objektu.
- Teksta straume: Šis objekts ļauj mums izveidot vai lasīt teksta failus.
Visām iepriekš minētajām metodēm ir sava metode, ar kuru strādāt. Pamatojoties uz mūsu prasībām, mēs varam izvēlēties katra objekta metodi.

Kā iespējot FileSystemObject?
VBA tas nav viegli pieejams. Tā kā piekļuve failiem un mapēm ir Excel ārējais uzdevums, mums jāiespējo FileSystemObject. Lai veicinātu, veiciet tālāk norādītās darbības.
1. solis: Dodieties uz Rīki> Atsauces.

2. solis - Atlasiet opciju “Microsoft Scripting Runtime”
Ritiniet uz leju un atlasiet opciju “Microsoft Scripting Runtime”. Pēc opciju izvēles noklikšķiniet uz Labi.

Tagad mēs varam piekļūt FileSystemObject (FSO) VBA.
Izveidojiet FileSystemObject instanci
Kad objektu bibliotēkā ir iespējota opcija “Microsoft Scripting Runtime”, ar kodēšanu jāizveido failu sistēmas objekts (FSO).
Lai izveidotu instanci, vispirms deklarējiet mainīgo kā FileSystemObject.

Kā redzam, FileSystemObject parādās IntelliSense sarakstā VBA. Tas nebūtu pieejams, pirms mēs iespējojam Microsoft Scripting Runtime.
Tā kā FSO ir objekts, mums tas jāiestata, lai izveidotu jaunu instanci.

Tagad mēs varam piekļūt visām FSO (FileSystemObject) opcijām.

VBA FileSystemObject izmantošanas piemēri
1. piemērs - atrodiet kopējo braukšanas vietu
Zemāk redzamais kods norādīs kopējo diska vietu.
Kods:
Sub FSO_Example1 () Dim MyFirstFSO kā FileSystemObject Set MyFirstFSO = New FileSystemObject Dim DriveName As Drive Dim DriveSpace Double Set DriveName = MyFirstFSO.GetDrive ("C:") 'Izveidot jaunu diska objektu DriveSpace = DriveName.FreeSpace' Tas atbrīvos vietu diska "C" DriveSpace = DriveSpace / 1073741824 'Tas pārvērs brīvo vietu par GB DriveSpace = Round (DriveSpace, 2)' Apaļo kopējo vietu MsgBox "Drive" & DriveName & "has" Apakšgrupa

Kodeksa sadalīšana.
Pirmkārt, mēs izveidojām FSO instanci.
Blāvi MyFirstFSO kā FileSystemObject Iestatiet MyFirstFSO = Jauns FileSystemObject
Tālāk mēs esam deklarējuši divus mainīgos.
Dim DriveName kā disks Dim DriveSpace kā Double
Since DriveName is an Object variable, we need to set this to FSO one of the FSO method. Since we need the characteristic of the drive, we have used the Get Drive option and mentioned the drive name.
Set DriveName = MyFirstFSO.GetDrive("C:")
For another variable, DriveSpace, we will assign the free space method of the drive we are accessing.
DriveSpace = DriveName.FreeSpace
As of now, the above equation can get us free space of the drive “C.” So to show the result in GB, we have divided the open space by 1073741824
DriveSpace = DriveSpace / 1073741824
Next, we will round the number.
DriveSpace = Round(DriveSpace, 2)
Finally, show the result in Message Box.
MsgBox "Drive " & DriveName & " has " & DriveSpace & "GB"
When we run the code manually or through shortcut key F5, then in the message box, we will get the free space of the drive “C.”

So, in my computer Drive C has 216.19 GB of free space memory.
Example #2 - Check Whether the Folder Exists or Not
To check whether the particular folder exists or not, use the below code.
If the mentioned folder is available, it will show us the message box as “The Mentioned Folder is Available.” If not, it will show the VBA message box as “The Mentioned Folder is Not Available.”
Code:
Sub FSO_Example2() Dim MyFirstFSO As FileSystemObject Set MyFirstFSO = New FileSystemObject If MyFirstFSO.FolderExists("D:Excel FilesVBAVBA Files") Then MsgBox "The Mentioned Folder is Available" Else MsgBox "The Mentioned Folder is Not Available" End If End Sub

Palaidiet šo kodu, izmantojot Excel īsinājumtaustiņu F5 vai manuāli, pēc tam skatiet rezultātu.

3. piemērs - pārbaudiet, vai fails pastāv vai nav
Zemāk esošais kods pārbaudīs, vai minētais fails ir pieejams vai nav.
Kods:
Sub FSO_Example3 () Aptumšojiet MyFirstFSO kā FileSystemObject iestatījumu MyFirstFSO = Jauns FileSystemObject, ja MyFirstFSO.FileExists ("D: Excel Files VBA VBA Files Testing File.xlsm"), tad MsgBox "Pieminētais fails ir pieejams" Else MsgBox " Fails nav pieejams

Palaidiet šo kodu manuāli vai izmantojot taustiņu F5, pēc tam skatiet rezultātu.
