Sissejuhatus failisüsteemiObject

Miks me VBA-d kasutame? Oma ülesannete automatiseerimiseks kasutame VBA-d. Tavaliselt töötame excelis ainult andmetega, mis esinevad ridade ja veergudena, mis on tabelite või millegi kujul. Mis saab aga failidest ja kaustadest, mis ei kuulu excelisse? Mis saab siis, kui me peame neid andmeid kasutama mis tahes failist, kuidas me neile juurde pääseme. Selles osas on FileSystemObject kasulik.

Meie arvutist failide süsteemile pääsemiseks kasutatakse FileSystemObject või FSO. Seda kasutades on meil juurdepääs kõigile failide kaustadele, mis meil arvutis, kus töötame, on olemas. FSO on põhimõtteliselt API tööriist, mida kasutatakse muudele failidele juurdepääsu saamiseks. Nüüd pole seda VBA-s vaikimisi olemas, millest saame hiljem teada selles artiklis. Mõistagem kõigepealt, mis on FSO. Varem VBA-s oli meil DIR-funktsioon, millele osutati juurdepääs arvutist teistele failidele ja kaustadele. DIR-funktsiooni kodeerimine oli väga keeruline. Kuid FSO-s on asjad teisiti.

Nüüd on nelja tüüpi objekte, millele FSO pääseb juurde ja need on järgmised:

  • Ajam: mida kasutatakse nimetatud draivile juurdepääsu saamiseks.
  • Kaust: seda kasutatakse nimetatud kaustale juurdepääsu saamiseks.
  • Fail: seda kasutatakse nimetatud failile juurdepääsu saamiseks.
  • Tekstivoog: selle objekti abil saame teksti faili lugeda või kirjutada.

Igal ülalloetletud objektil on nende kasutamiseks erinevad meetodid. Näiteks kui me tahame faili kopeerida, siis kasutame meetodit CopyFile või kustutame kausta, kasutades meetodit DeleteFolder ja nii edasi.

Nagu ma eespool arutasin, pole FSO-d vaikimisi VBA-s, kuid VBA-s FSO lubamiseks on kaks meetodit.

  • Esimene meetod on viite seadmine.
  • Teine meetod on viidata koodile raamatukogule.

Kuigi teine ​​meetod on keerulisem, on alati soovitatav kasutada esimest meetodit, mis on väga lihtne. Järgigem neid põhilisi samme.

VBA-s avage vahekaart Tööriistad ja siis viited,

Hüpikaken avaneb viisardikast, valige Microsoft Scripting Runtime, nagu allpool näidatud, ja vajutage nuppu OK.

Nüüd pääseme FSO-sse VBA-s. Nüüd kasutagem seda mõne näite kaudu ja õppige sellest.

Kuidas kasutada VBA FileSystemObject'i Excelis?

Allpool on toodud erinevad näited VBA FileSystemObject Funktsiooni kasutamiseks Excelis

Selle VBA FileSystemObject Exceli malli saate alla laadida siit - VBA FileSystemObject Exceli mall

VBA FileSystemObject - näide # 1

Enne kui hakkame VSO-s FSO-d kasutama, õppige kõigepealt, kuidas VBA-s eksemplare luua.

1. samm: looge alammoodulis alamprotseduur,

Kood:

 Sub Uusfso () End Sub 

2. samm: kuulutage muutuja failiks FileSystemObject, nagu allpool näidatud,

Kood:

 Sub Newfso () Dim A nagu FileSystemObject End Sub 

3. samm: nüüd peame looma eksemplari, kuna FSO on objekt, kasutades SET-avaldust, nagu allpool näidatud,

Kood:

 Alam-Newfso () Tühjendatakse A-ga nagu FileSystemObject Set A = Uus FileSystemObject-lõpp 

Nüüd võimaldab see avaldus meil luua või muuta faile või kaustu FSO abil.

4. samm: Nüüd näeme IntelliSense'i funktsiooni pärast FSO lubamist. Kasutage punktioperaatorit järgmiselt:

Kood:

 Sub Newfso () Dim A nagu FileSystemObject Set A = New FileSystemObject A. End Sub 

See andis meile IntelliSense'i funktsiooni kasutades erinevaid võimalusi. Nii loome FSO abil eksemplare.

VBA FileSystemObject - näide nr 2

Kuna oleme loonud näites 1 eksemplari, siis liigume edasi selle kasutamiseks ja kontrollige, kas fail või kaust on olemas või mitte.

1. samm: pärast uue FileSystemObjecti loomist kasutage IF-lause abil kausta olemasolu või mitte, järgmiselt,

Kood:

 Sub Newfso () Dim A nagu FileSystemObject Set A = New FileSystemObject If A.FolderExists ("C: \ Users \ Public \ Project") Siis End Sub 

2. samm: kui kaust on olemas, tahame kuvada kausta, ja kui ei, siis me ei soovi, et see kuvataks, seda kausta pole.

Kood:

 Sub Newfso () Dim A Kui FileSystemObject Määrake A = New FileSystemObject Kui A.FolderExists ("C: \ Users \ Public \ Project"), siis MsgBox "The Folder olemas" Else MsgBox "Folder Not olemas" End if End End Sub 

3. samm: täitke ülaltoodud kood ja vaadake tulemust järgmiselt:

Kaust on minu töölaual olemas, nii et saame teate, et kaust on olemas.

VBA FileSystemObject - näide nr 3

Nüüd, kui arutasime, et FSO-l on mitmesuguseid objekte, näiteks draivid. Laskem teada saada, kui palju ruumi mul E-draivis on.

1. samm: alustage teise alamprotseduuriga järgmiselt:

Kood:

 Alam Uusfso1 () Lõpp Alam 

2. samm: kuulutage muutuja nüüd failina FileSystemObject ja määrake see uuele eksemplarile järgmiselt:

Kood:

 Sub Newfso1 () Tühjenda A failina FileSystemObject Set A = Uus FileSystemObject lõpp Sub 

3. samm: kuna me kasutame draivi atribuuti, kuulutage üks muutuja draivi tüübiks ja üks muutuja kahekordseks, et ruumi andmeid hoida järgmiselt,

Kood:

 Sub Newfso1 () Dim A kui FileSystemObject Set A = Uus FileSystemObject Dim D draivina, Dspace topeltotstarbelise alammena 

4. samm: loogem nüüd uus draiviobjekt, nagu allpool näidatud,

Kood:

 Sub Newfso1 () Dim A kui FileSystemObject Set A = Uus FileSystemObject Dim D Drivena, Dspace topeltkomplektina D = A.GetDrive ("C:") End Sub 

See on üks FSO-meetodeid, mida me draivile pääsemiseks kasutame.

5. samm: draivi vaba ruumi saamiseks ja selle talletamiseks muutuja jaoks, mis on mäluruumi salvestamiseks määratud, kasutame teist FSO-meetodit,

Kood:

 Sub Newfso1 () Dim A kui FileSystemObject Set A = Uus FileSystemObject Dim D Drive, Dspace topeltkomplektina D = A.GetDrive ("C:") Dspace = D.FreeSpace End Sub 

6. samm: arvutagem nüüd ruumi GB-s järgmiselt:

Kood:

 Sub Newfso1 () Dim A kui FileSystemObject Set A = Uus FileSystemObject Dim D Drive, Dspace Double Set D = A.GetDrive ("C:") Dspace = D.FreeSpace Dspace = Ümar ((Dspace / 1073741824), 2) Lõpu alam 

7. samm. Kuvage nüüd kettaruumi salvestatud väärtus, kasutades funktsiooni msgbox, järgmiselt:

Kood:

 Sub Newfso1 () Dim A kui FileSystemObject Set A = Uus FileSystemObject Dim D Drive, Dspace Double Set D = A.GetDrive ("C:") Dspace = D.FreeSpace Dspace = Ümar ((Dspace / 1073741824), 2) MsgBox "Draiv" & D & "on" & Dspace & "GB vaba ruumi" End Sub 

8. samm: täitke ülaltoodud kood, et saada välja allpool olev tulemus,

VBA FileSystemObject - näide # 4

Nüüd looge uus kataloog kausta FSO abil määratud asukohta.

1. samm: alustame jälle järgmise alamprotseduuriga järgmiselt:

Kood:

 Sub Newfso2 () Lõpeta Sub 

2. samm: tegutsegem samade sammude abil ja looge näiteks järgmiselt,

Kood:

 Sub Newfso2 () Tühjenda A kui FileSystemObject Set A = Uus FileSystemObject End Sub 

3. samm: Nüüd kasutame Loo kausta meetodit uue kausta loomiseks määratud asukohta,

Kood:

 Alam-Newfso2 () Tühjendatakse A-ga kui FileSystemObject-i komplekt A = Uus FileSystemObject A.CreateFolder ("C: \ Kasutajad \ Avalik \ Projekt \ FSOExample") Lõpp-alam 

4. samm: täitke ülaltoodud kood ja vaadake tulemust töölaual järgmiselt,

Oleme loonud määratud asukohta edukalt uue kausta.

VBA FileSystemObjectis meelde tuletavad asjad

  • FSO on API-rakenduste tööriist.
  • FSO pole vaikimisi VBA-s saadaval.
  • FSO abil saame arvutis faile ja kaustu luua, muuta või lugeda.
  • FSO-d saame kasutada ka oma võrgudraivide jaoks.

Soovitatavad artiklid

See on VBA FileSystemObjecti juhend. Siin arutatakse, kuidas VBA FileSystemObject'i Excelis kasutada koos mõne praktilise näite ja allalaaditava excelimalliga. Võite vaadata ka meie teisi soovitatud artikleid -

  1. VBA tööraamatu täielik juhend
  2. Kaudne funktsioon Excelis
  3. VBA krahvifunktsioon
  4. Funktsioon Excel XOR

Kategooria: