VBA FileSystemObject (FSO) - Kaip pasiekti „FileSystemObject“?

„Excel VBA FileSystemObject“ (FSO)

„VBA FileSystemObject“ (FSO) veikia panašiai kaip „FileDialog“, naudojama norint pasiekti kitus kompiuterio, kuriame dirbame, failus. Mes taip pat galime redaguoti šiuos failus reiškia skaityti ar rašyti failą. Naudodamiesi FSO, mes galime pasiekti failus, dirbti su jais, modifikuoti failus ir aplankus. FSO yra svarbus API įrankis, kurį galime pasiekti naudodami VBA. VBA projekte mums gali tekti pasiekti keletą aplankų ir failų mūsų kompiuteryje, kad atliktume darbą.

Mes galime atlikti daugybę užduočių naudodami FSO, pvz., „Patikrinti, ar aplankas yra, ar ne“. Sukurkite naują aplanką ar failus, pervardykite esamą aplanką ar failus, gaukite visų aplanke esančių failų sąrašą ir pakatalogių pavadinimus . Galiausiai galime nukopijuoti failus iš vienos vietos į kitą.

Net jei yra kitų funkcijų, galinčių dirbti su aplankais ir failais, FSO yra lengviausias būdas dirbti su aplankais ir failais, išlaikant VBA kodą tvarkingą ir tiesų.

Su „FileSystemObject“ galime pasiekti keturių tipų objektus. Žemiau yra tie.

  1. Diskas: naudodamiesi šiuo objektu galime patikrinti, ar minėtas diskas egzistuoja, ar ne. Galime sužinoti įmonės pavadinimą, paskirties tipą ir dydį.
  2. Aplankas: Šis objektas leidžia mums patikrinti, ar konkretus aplankas egzistuoja, ar ne. Naudodami šį objektą galime kurti, ištrinti, modifikuoti, kopijuoti aplankus.
  3. Failas: Šis objektas leidžia mums patikrinti, ar konkretus failas egzistuoja, ar ne. Naudodami šį VBA objektą galime kurti, ištrinti, modifikuoti, kopijuoti failus.
  4. Teksto srautas: Šis objektas leidžia mums kurti ar skaityti tekstinius failus.

Visi minėti metodai turi savo metodą. Pagal savo reikalavimus galime pasirinkti kiekvieno objekto metodą.

Kaip įjungti „FileSystemObject“?

VBA nėra lengvai prieinama. Kadangi prieiga prie failų ir aplankų yra išorinė „Excel“ užduotis, turime įgalinti „FileSystemObject“. Norėdami paskatinti, atlikite toliau nurodytus veiksmus.

1 žingsnis: Eikite į Įrankiai> Nuorodos.

2 žingsnis - Pasirinkite parinktį „Microsoft Scripting Runtime“

Slinkite žemyn ir pasirinkite parinktį „Microsoft Scripting Runtime“. Pasirinkę parinktis, spustelėkite Gerai.

Dabar mes galime pasiekti „FileSystemObject“ (FSO) VBA.

Sukurkite „FileSystemObject“ egzempliorių

Kai „Objektų“ bibliotekoje įgalinama parinktis „Microsoft Scripting Runtime“, koduodami turime sukurti failų sistemos objektą (FSO).

Norėdami sukurti egzempliorių, pirmiausia deklaruokite kintamąjį kaip „ FileSystemObject“.

Kaip matome, „ FileSystemObject“ rodomas VBA „IntelliSense“ sąraše. Tai nebūtų galima, kol neįgalinsime „Microsoft Scripting Runtime“.

Kadangi FSO yra objektas, turime jį nustatyti, kad sukurtume naują egzempliorių.

Dabar mes galime pasiekti visas FSO (FileSystemObject) parinktis.

VBA FileSystemObject naudojimo pavyzdžiai

1 pavyzdys - raskite bendrą vietos diske

Žemiau pateiktas kodas suteiks bendrą disko vietą.

Kodas:

Sub FSO_Example1 () Dim MyFirstFSO As FileSystemObject Set MyFirstFSO = New FileSystemObject Dim DriveName As Drive Dim DriveSpace Double Set DriveName = MyFirstFSO.GetDrive ("C:") "Create new drive object DriveSpace = DriveName.FreeSpace" Tai gaus laisvą vietą. disko "C" DriveSpace = DriveSpace / 1073741824 'Tai konvertuos laisvą vietą į GB DriveSpace = Round (DriveSpace, 2)' Apvalykite visą erdvę MsgBox "Drive" & DriveName & "has" & DriveSpace & "GB" End Sub

Kodekso sugadinimas.

Pirma, mes sukūrėme FSO egzempliorių.

„Dim MyFirstFSO“ kaip „FileSystemObject“ nustatykite „MyFirstFSO“ = „New FileSystemObject“

Toliau mes paskelbėme du kintamuosius.

„Dim DriveName As Drive“ - „Dim DriveSpace“ kaip dvigubas

Kadangi „DriveName“ yra „Object“ kintamasis, turime tai nustatyti kaip FSO vieną iš FSO metodų. Kadangi mums reikia disko charakteristikų, mes pasirinkome parinktį Gauti diską ir paminėjome disko pavadinimą.

Nustatyti „DriveName“ = „MyFirstFSO.GetDrive“ („C:“)

Kitam kintamajam, „DriveSpace“, priskirsime laisvos vietos metodą disko, prie kurio prieiname.

„DriveSpace“ = „DriveName“. „FreeSpace“

Nuo šiol aukščiau pateikta lygtis gali mums suteikti laisvos vietos disko „C.“ Taigi, norėdami parodyti rezultatą GB, atvirąją erdvę padalijome iš 1073741824

„DriveSpace“ = „DriveSpace“ / 1073741824

Tada mes suapvalinsime skaičių.

„DriveSpace“ = apvalus („DriveSpace“, 2)

Galiausiai parodykite rezultatą pranešimų laukelyje.

„MsgBox“ „Drive“ ir „DriveName &“ turi „& DriveSpace“ ir „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

Paleiskite šį kodą naudodami „Excel“ spartųjį klavišą F5 arba rankiniu būdu, tada pamatykite rezultatą.

3 pavyzdys - patikrinkite, ar failas egzistuoja, ar ne

Žemiau pateiktas kodas patikrins, ar minėtas failas yra, ar ne.

Kodas:

Sub FSO_Example3 () Tamsinti MyFirstFSO kaip FileSystemObject Nustatyti MyFirstFSO = New FileSystemObject Jei MyFirstFSO.FileExists ("D: Excel Files VBA VBA Files Testing File.xlsm"), tada MsgBox "Paminėtas failas yra" Else MsgBox " Failas negalimas "Pabaigti, jei baigsis antrinis

Paleiskite šį kodą rankiniu būdu arba naudodami klavišą F5, tada pamatykite rezultatą.

Įdomios straipsniai...