Uvod v FileSystemObject

Zakaj uporabljamo VBA? VBA uporabljamo za avtomatizacijo naših nalog. Običajno v excelu delamo le s podatki, ki so prisotni v vrsticah in stolpcih, ki so v obliki tabel ali kaj podobnega. Kaj pa datoteke in mape, ki niso del programa excel? Kaj pa, če moramo do teh podatkov uporabiti katero koli datoteko, kako do nje dostopamo. Tu je na voljo FileSystemObject.

FileSystemObject ali FSO se uporablja za dostop do sistema datotek iz našega računalnika. S tem lahko imamo dostop do vseh map datotek, ki jih imamo v računalniku, v katerem delamo. FSO je v bistvu orodje API, ki se uporablja za dostop do drugih datotek. Zdaj to privzeto ni v sistemu VBA, o čemer bomo pozneje izvedeli v tem članku. Naj najprej razumemo, kaj je FSO. Prej v VBA smo imeli funkcijo DIR, ki je bila napotena za dostop do drugih datotek in map iz računalnika. Kodiranje funkcije DIR je bilo zelo zapleteno pri delu. Toda na FSO so stvari drugačne.

Zdaj obstajajo štiri vrste predmetov, do katerih lahko dostopamo s FSO, in to so:

  • Pogon: ki se uporablja za dostop do omenjenega pogona.
  • Mapa: Uporablja se za dostop do omenjene mape.
  • Datoteka: Uporablja se za dostop do omenjene datoteke.
  • Besedilni tok: S tem objektom lahko beremo ali pišemo besedilno datoteko.

Vsak od zgoraj naštetih predmetov ima različne načine uporabe. Na primer, če želimo kopirati datoteko, bomo uporabili metodo CopyFile ali izbrisali mapo, bomo uporabili metodo DeleteFolder itd.

Ker sem zgoraj razpravljal, FSO v VBA ni privzeto prisoten, obstajata dva načina za omogočanje FSO v VBA.

  • Prva metoda je s postavitvijo referenc.
  • Druga metoda je sklicevanje na knjižnico iz kode.

Medtem ko je druga metoda bolj zapletena, je vedno priporočljivo uporabiti prvo metodo, ki je zelo preprosta. Upoštevajmo te osnovne korake.

V VBA pojdite na zavihek Orodja in nato pojdite na reference

Odprlo se bo okno čarovnika, izberite Microsoft Scripting Runtime, kot je prikazano spodaj, in pritisnite OK.

Zdaj lahko dostopamo do FSO v VBA. Zdaj pa to uporabimo skozi nekaj primerov in se o njem seznanimo.

Kako uporabljati VBA FileSystemObject v Excelu?

Spodaj so različni primeri za uporabo funkcije VBA FileSystemObject v Excelu

To predlogo VBA FileSystemObject Excel lahko prenesete tukaj - Predloga VBA FileSystemObject Excel

VBA FileSystemObject - primer # 1

Preden začnemo uporabljati FSO v Vbi, se najprej naučimo, kako ustvarjati primere v VBA.

1. korak: v pod modulu ustvarite pod postopek,

Koda:

 Sub Newfso () Konec Sub 

2. korak: Označite spremenljivko kot FileSystemObject, kot je prikazano spodaj,

Koda:

 Sub Newfso () Dim A kot FileSystemObject End Sub 

3. korak: Zdaj moramo ustvariti primerek, saj je FSO objekt s pomočjo stavka SET, kot je prikazano spodaj,

Koda:

 Pod Newfso () Dim A kot FileSystemObject Set A = New FileSystemObject End Sub 

Zdaj nam bo ta izjava omogočila ustvarjanje ali spreminjanje datotek ali map s pomočjo FSO.

4. korak: Zdaj lahko vidimo funkcijo IntelliSense po omogočitvi FSO. Uporabite operator s pikami na naslednji način,

Koda:

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

Omogočil nam je različne možnosti s pomočjo funkcije IntelliSense. Tako ustvarjamo primere s pomočjo FSO.

VBA FileSystemObject - primer # 2

Ker smo v primeru 1 ustvarili primerek, se premaknemo naprej in preverimo, ali datoteka ali mapa obstaja ali ne.

1. korak: Ko smo ustvarili nov FileSystemObject, uporabite stavek IF, da ugotovite, ali mapa obstaja ali ne, kot sledi,

Koda:

 Pod Newfso () Dim A kot FileSystemObject Set A = New FileSystemObject Če A.FolderExists ("C: \ Uporabniki \ Public \ Project") Nato končajte Sub 

Korak 2: Če mapa obstaja, želimo prikazati mapo in če ne želimo, da se prikaže, ta mapa ne obstaja.

Koda:

 Pod Newfso () Dim A kot FileSystemObject Set A = New FileSystemObject Če je A.FolderExists ("C: \ Uporabniki \ Public \ Project") potem MsgBox "Mapa obstaja" Else MsgBox "Mapa ne obstaja" End If End Sub 

3. korak: Zdaj izvedite zgornjo kodo in rezultat poglejte na naslednji način,

Mapa obstaja na mojem namizju, zato dobimo sporočilo, da mapa obstaja.

VBA FileSystemObject - primer # 3

Odkar smo razpravljali, da ima FSO različne predmete, kot so pogoni. Naj ugotovimo, koliko prostora imam na voljo v svoji E pogon.

1. korak: Začnite z drugim podprocesom, kot sledi,

Koda:

 Sub Newfso1 () Konec Sub 

2. korak: Zdaj deklarirajte spremenljivko kot FileSystemObject in jo nastavite na nov primerek, kot sledi,

Koda:

 Pod Newfso1 () Dim A kot FileSystemObject Set A = New FileSystemObject End Sub 

3. korak: zdaj, ko uporabljamo lastnost Drive, eno spremenljivko označimo kot vrsto pogona in eno spremenljivko kot dvojno, da shranimo podatke za prostor na naslednji način,

Koda:

 Pod Newfso1 () Dim A kot FileSystemObject Set A = nov FileSystemObject Dim D kot pogon, Dspace kot dvostranski pod 

4. korak: Zdaj ustvarimo nov pogonski objekt, kot je prikazano spodaj,

Koda:

 Pod Newfso1 () Dim A kot FileSystemObject Set A = nov FileSystemObject Dim D kot pogon, Dspace kot dvojni niz D = A.GetDrive ("C:") konec pod 

To je ena od metod FSO, ki jo uporabljamo za dostop do pogona.

5. korak: Uporabili bomo drugo metodo FSO, da bomo dobili prosti prostor pogona in ga shranili v spremenljivko, določeno za shranjevanje prostora pogona,

Koda:

 Pod Newfso1 () Dim A kot FileSystemObject Set A = nov FileSystemObject Dim D kot pogon, Dspace kot dvojni niz D = A.GetDrive ("C:") Dspace = D.FreeSpace End Sub 

6. korak: Zdaj izračunajmo prostor v GB, kot sledi,

Koda:

 Pod Newfso1 () Dim A kot FileSystemObject Set A = nov FileSystemObject Dim D kot pogon, Dspace kot dvojni niz D = A.GetDrive ("C:") Dspace = D.FreeSpace Dspace = Round ((Dspace / 1073741824), 2) Končni pod 

7. korak: Zdaj prikažite vrednost, ki je shranjena v prostoru Drive, s funkcijo msgbox,

Koda:

 Pod Newfso1 () Dim A kot FileSystemObject Set A = nov FileSystemObject Dim D kot pogon, Dspace kot dvojni niz D = A.GetDrive ("C:") Dspace = D.FreeSpace Dspace = Round ((Dspace / 1073741824), 2) MsgBox "Drive" & D & "ima" & Dspace in "GB prosto prostora" End Sub 

8. korak: Izvedite zgornjo kodo in ugotovite spodnji rezultat,

VBA FileSystemObject - primer # 4

Zdaj ustvarimo novo mapo na določenem mestu s pomočjo FSO.

1. korak: začnimo z drugim podprocesom, kot sledi,

Koda:

 Sub Newfso2 () Konec Sub 

2. korak: sledimo istim korakom in ustvarimo primerek, kot sledi,

Koda:

 Pod Newfso2 () Dim A kot FileSystemObject Set A = New FileSystemObject End Sub 

3. korak: Zdaj bomo uporabili metodo Create Folder za ustvarjanje nove mape na določeno mesto,

Koda:

 Pod Newfso2 () Dim A kot FileSystemObject Set A = New FileSystemObject A.CreateFolder ("C: \ Users \ Public \ Project \ FSOExample") End Sub 

4. korak: Izvedite zgornjo kodo in si oglejte rezultat na namizju, kot sledi,

Na navedeni lokaciji smo uspešno ustvarili novo mapo.

Stvari, ki si jih morate zapomniti v datoteki VBA FileSystemObject

  • FSO je orodje za uporabo API-ja.
  • FSO privzeto ni na voljo v VBA.
  • S FSO lahko v računalniku ustvarjamo, spreminjamo ali beremo datoteke in mape.
  • FSO lahko uporabimo tudi za naše omrežne pogone.

Priporočeni članki

To je vodnik za datoteko VBA FileSystemObject. Tukaj razpravljamo o uporabi VBA FileSystemObject v Excelu skupaj z nekaj praktičnimi primeri in naloženo predlogo Excela. Ogledate si lahko tudi druge naše predlagane članke -

  1. Celoten vodnik po delovnem zvezku VBA
  2. POSREDNA funkcija v Excelu
  3. Funkcija štetja VBA
  4. Excel XOR funkcija

Kategorija: