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

„Excel VBA FileSystemObject“ (FSO)

„VBA FileSystemObject“ (FSO) veikia panašiai kaip „FileDialog“, naudojama norint gauti prieigą prie kitų kompiuterio, kuriame dirbame, failų. 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“, sukurti naują aplanką ar failus, pervardyti esamą aplanką ar failus, gauti visų aplanke esančių failų sąrašą, taip pat poaplankių pavadinimus ir 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 4 tipų objektus. Žemiau yra tie.

  1. Diskas: Naudodami šį objektą galime patikrinti, ar minėtas diskas egzistuoja, ar ne, galime gauti kelio pavadinimą, disko tipą ir disko 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 reikalavimą 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 įjungti, atlikite toliau nurodytus veiksmus.

1 žingsnis: Eikite į Įrankiai> Nuorodos.

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

Slinkite žemyn ir pasirinkite „Microsoft Scripting Runtime“ parinktį. 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 objekto (FSO) egzempliorių.

Norėdami sukurti egzempliorių, pirmiausia paskelbkite 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

Šį „VBA FileSystemObject Excel“ šabloną galite atsisiųsti čia - „VBA FileSystemObject Excel“ šablonas

1 pavyzdys - raskite bendrą vietos diske

Žemiau 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“ kaip „Dim“ „Drive Drive“ erdvė dviguba 

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

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

Dabar, norėdami gauti kitą kintamąjį „DriveSpace“, priskirsime laisvos vietos metodą diske, prie kurio prieiname.

„DriveSpace“ = „DriveName“. „FreeSpace“

Nuo šiol aukščiau pateikta lygtis gali mums suteikti laisvos vietos diske „C“. Taigi norėdami parodyti rezultatą GB, mes padalijome laisvą vietą 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“

Kai paleidžiame kodą rankiniu būdu arba naudodamiesi sparčiuoju klavišu F5, pranešimų laukelyje gausime laisvą disko „C“ vietą.

Taigi, mano kompiuteryje C diske yra 216,19 GB laisvos vietos atminties.

2 pavyzdys - patikrinkite, ar aplankas egzistuoja, ar ne

Norėdami patikrinti, ar konkretus aplankas egzistuoja, naudokite toliau pateiktą kodą.

Jei minėtas aplankas yra, jis parodys mums pranešimų langelį kaip „Minimas aplankas yra prieinamas“ , jei ne, jis parodys VBA pranešimų laukelį kaip „Minimas aplankas nėra“.

Kodas:

 Sub FSO_Example2 () Tamsinti MyFirstFSO kaip FileSystemObject Nustatyti MyFirstFSO = Naujas FileSystemObject Jei MyFirstFSO.FolderExists ("D: \ Excel Files \ VBA \ VBA Files"), tada MsgBox "Yra minimas aplankas" Else MsgBox "Negalima" Minimas aplankas nėra Pabaiga, jei Pabaiga 

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 "Baigti, jei baigsis antrinis 

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