VBA FileSystemObject (FSO) - Kuidas pääseda juurde FileSystemObjectile?

Lang L: none (table-of-contents)

Exceli VBA FileSystemObject (FSO)

VBA FileSystemObject (FSO) töötab sarnaselt FileDialogiga, mida kasutatakse juurdepääsu saamiseks selle arvuti teistele failidele, millega töötame. Saame neid faile redigeerida ka faili lugedes või kirjutades. FSO abil saame juurde pääseda failidele, nendega töötada, faile ja kaustu muuta. FSO on oluline API-tööriist, millele saame VBA-ga juurde pääseda. VBA projekti osana peame võib-olla töö tegemiseks pääsema juurde arvutis asuvatele kaustadele ja failidele.

Saame teha paljusid ülesandeid, kasutades FSO-d, näiteks "kontrollida, kas kaust on saadaval või mitte". Looge uus kaust või failid, nimetage olemasolev kaust või failid ümber, hankige kõigi kaustas olevate failide loend ja ka alamkaustade nimed . Lõpuks saame faile kopeerida ühest asukohast teise.

Isegi kui kaustade ja failidega töötamiseks on saadaval muid funktsioone, on FSO kaustade ja failidega töötamiseks lihtsaim viis, hoides VBA-koodi korralikult ja sirgelt.

FileSystemObject abil pääseme ligi nelja tüüpi objektidele. Allpool on need.

  1. Draiv: Selle objekti abil saame kontrollida, kas nimetatud draiv on olemas või mitte. Saame teada ettevõtte teenime, eesmärgi tüübi ja suuruse.
  2. Kaust: see objekt võimaldab meil kontrollida, kas konkreetne kaust on olemas või mitte. Selle objekti abil saame kaustu luua, kustutada, muuta, kopeerida.
  3. Fail: see objekt võimaldab meil kontrollida, kas konkreetne fail on olemas või mitte. Selle VBA objekti abil saame faile luua, kustutada, muuta, kopeerida.
  4. Tekstivoog: see objekt võimaldab meil luua või lugeda tekstifaile.

Kõigil ülaltoodud meetoditel on oma meetod töötamiseks. Vastavalt meie nõuetele saame valida iga objekti meetodi.

Kuidas lubada FileSystemObject?

VBA-s pole see hõlpsasti kättesaadav. Kuna failidele ja kaustadele juurdepääs on Exceli väline ülesanne, peame lubama FileSystemObject. Julgustamiseks toimige järgmiselt.

1. samm: minge Tööriistad> Viited.

2. samm - valige suvand „Microsoft Scripting Runtime”

Kerige alla ja valige suvand „Microsoft Scripting Runtime”. Pärast valikute valimist klõpsake nuppu OK.

Nüüd pääseme juurde VBA-sse FileSystemObject (FSO).

Looge FileSystemObject-i eksemplar

Kui objektide teegist on lubatud valik „Microsoft Scripting Runtime”, peame kodeerimise abil looma failisüsteemi objekti (FSO).

Eksemplari loomiseks deklareerige muutuja esmalt FileSystemObject.

Nagu näeme, kuvatakse FileSystemObject VBA IntelliSense'i loendis. See ei oleks saadaval enne, kui lubame Microsoft Scripting Runtime'i.

Kuna FSO on objekt, peame selle uue eksemplari loomiseks seadistama.

Nüüd pääseme juurde kõigile FSO (FileSystemObject) suvanditele.

Näited VBA FileSystemObject kasutamise kohta

Näide # 1 - leidke kogu kettaruum

Allolev kood annab draivi kogu ruumi.

Kood:

Sub FSO_Example1 () Dim MyFirstFSO kui FileSystemObject Set MyFirstFSO = New FileSystemObject Dim DriveName As Drive Dim DriveSpace Double Set DriveName = MyFirstFSO.GetDrive ("C:") "Looge uus draiviobjekt DriveSpace = DriveName.FreeSpace" See saab vaba ruumi draivi "C" DriveSpace = DriveSpace / 1073741824 'See teisendab vaba ruumi GB DriveSpace = ümmargune (DriveSpace, 2)' Ümber kogu ruumi MsgBox "Drive" & DriveName & "has" & DriveSpace & "GB" End Alam

Koodeksi lagunemine.

Esiteks lõime FSO eksemplari.

Hämarda MyFirstFSO kui FileSystemObject Määra MyFirstFSO = Uus FileSystemObject

Järgmisena oleme deklareerinud kaks muutujat.

Hämarda DriveName kui ketas Dim DriveSpace on topelt

Kuna DriveName on muutuja Object, peame selle seadma FSO meetodiks FSO. Kuna meil on vaja draivi omadusi, oleme kasutanud valikut Get Drive ja maininud draivi nime.

Määra DriveName = MyFirstFSO.GetDrive ("C:")

Teise muutuja DriveSpace jaoks määrame selle draivi vaba ruumi meetodi, millele me juurde pääseme.

DriveSpace = DriveName.FreeSpace

Praeguse seisuga võib ülaltoodud võrrand saada meile draivi "C" vaba ruumi Nii et tulemuse näitamiseks GB-des oleme jaganud avatud ruumi 1073741824-ga

DriveSpace = DriveSpace / 1073741824

Järgmisena ümardame numbri.

DriveSpace = ümmargune (DriveSpace, 2)

Lõpuks näidake tulemust sõnumikastis.

MsgBox "Drive" ja DriveName & "sisaldab" & 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

Käivitage see kood läbi Exceli kiirklahvi F5 või käsitsi, seejärel vaadake tulemust.

Näide # 3 - kontrollige, kas fail on olemas või mitte

Allpool olev kood kontrollib, kas nimetatud fail on saadaval või mitte.

Kood:

Sub FSO_Example3 () Hämardage MyFirstFSO kui FileSystemObject Määra MyFirstFSO = Uus FileSystemObject Kui MyFirstFSO.FileExists ("D: Excel Files VBA VBA Files Testing File.xlsm"), siis MsgBox "Mainitud fail on saadaval" Else MsgBox " Fail pole saadaval "Lõpeta, kui lõpeb alam

Käivitage see kood käsitsi või klahvi F5 abil, seejärel vaadake tulemust.

Huvitavad Artiklid...