Bevezetés a FileSystemObject-be

Miért használjuk a VBA-t? A VBA segítségével automatizáljuk feladatainkat. Általában az excelben csak olyan sorokkal és oszlopokkal kapcsolatos adatokkal dolgozunk, amelyek táblák vagy valami más formában vannak. De mi lesz a fájlokkal és mappákkal, amelyek nem képezik az Excel részét? Mi lenne, ha bármilyen fájlból felhasználnunk kell ezeket az adatokat, hogyan lehet elérni? A FileSystemObject itt hasznos.

A FileSystemObject vagy az FSO a fájlok rendszerének elérésére szolgál számítógépünkről. Ezzel hozzáférhetünk az összes fájlmappához, amelyek a számítógépen vannak, amelyen dolgozunk. Az FSO alapvetően egy API eszköz, amelyet más fájlok elérésére használnak. Ez alapértelmezés szerint nincs jelen a VBA-ban, amelyet később megtudunk ebben a cikkben. Először megértsük, mi az FSO. Korábban a VBA-ben volt DIR funkciónk, amelyet más fájlok és mappák elérésére utaltak egy számítógépről. A DIR funkció kódolása nagyon összetett volt. De az FSO-ban a dolgok különböznek.

Most négy típusú objektum van, amelyekhez az FSO hozzáférhet, és ezek a következők:

  • Meghajtó: Amellyel hozzáférhet az említett meghajtóhoz.
  • Mappa: ehhez hozzáférhet egy említett mappához.
  • Fájl: Ezzel hozzáférhet egy említett fájlhoz.
  • Szövegfolyam: Ezzel az objektummal szöveges fájlt tudunk olvasni vagy írni.

A fent felsorolt ​​objektumok mindegyikének különféle módszerei vannak azok használatához. Például, ha egy fájlt szeretnénk lemásolni, akkor a CopyFile metódust fogjuk használni, vagy egy mappát törölni fogunk a DeleteFolder metódust és így tovább.

Mint fentebb már említettem, az FSO alapértelmezés szerint nincs jelen a VBA-ban, két módszer van az FSO engedélyezésére a VBA-ban.

  • Az első módszer a referencia beállítása.
  • A második módszer a könyvtár hivatkozása a kódból.

Noha a második módszer bonyolultabb, mindig az első módszer használata ajánlott, amely nagyon egyszerű. Kövessük ezeket az alapvető lépéseket.

A VBA-ban lépjen az Eszközök lapra, majd a Referenciák oldalra,

Megjelenik egy varázslódoboz, válassza az alábbi ábra szerint a Microsoft Scripting Runtime lehetőséget, majd nyomja meg az OK gombot.

Most hozzáférhetünk az FSO-hoz a VBA-ban. Használjuk ezt néhány példán keresztül és tanuljunk meg róla.

Hogyan lehet használni a VBA FileSystemObject fájlt az Excel programban?

Az alábbiakban bemutatjuk a VBA FileSystemObject Function használatához az Excelben használt különféle példákat

A VBA FileSystemObject Excel sablont itt töltheti le - VBA FileSystemObject Excel Template

VBA FileSystemObject - 1. példa

Mielőtt elkezdenénk használni az FSO-t a Vba-ban, először tanuljuk meg, hogyan hozhatók létre példányok a VBA-ban.

1. lépés: Az almodulban hozzon létre egy al eljárást,

Kód:

 Sub Newfso () Vége Sub 

2. lépés: Nyilatkozzon egy változót FileSystemObject fájlként az alább látható módon,

Kód:

 Sub Newfso () Dim A FileSystemObject végén Sub 

3. lépés: Most létre kell hoznunk egy példányt, mivel az FSO egy objektum, amely a SET utasítást használja, az alább látható módon,

Kód:

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

Ez az állítás lehetővé teszi számunkra, hogy fájlokat vagy mappákat hozzunk létre vagy módosítsunk az FSO segítségével.

4. lépés: Most láthatjuk az IntelliSense funkciót az FSO engedélyezése után. Használja a pontkezelőt az alábbiak szerint:

Kód:

 Sub Newfso () Dim A, mint FileSystemObject Set A = Új FileSystemObject A. End Sub 

Különböző lehetőségeket adott nekünk az IntelliSense funkció használatával. Így hozhatunk létre példányokat az FSO segítségével.

VBA FileSystemObject - 2. példa

Mivel az 1. példában létrehoztuk egy példányt, tovább lépjünk a használatához, és ellenőrizzük, létezik-e fájl vagy mappa.

1. lépés: Miután létrehoztuk az új FileSystemObject fájlt, az IF utasítás használatával meghatározzuk, létezik-e egy mappa, vagy sem, az alábbiak szerint,

Kód:

 Sub Newfso () Dim A mint FileSystemObject Set A = New FileSystemObject If A.FolderExists ("C: \ Users \ Public \ Project"), majd vége Sub 

2. lépés: Ha létezik egy mappa, akkor a megjeleníteni kívánt mappa létezik, és ha nem, akkor azt szeretnénk, hogy megjelenítse, akkor a mappa nem létezik.

Kód:

 Sub Newfso () Dim A, mint FileSystemObject Set A = New FileSystemObject, ha A.FolderExists ("C: \ Users \ Public \ Project") Akkor MsgBox "A mappa létezik" Egyéb MsgBox "A mappa nem létezik" End if End sub 

3. lépés: Most hajtsa végre a fenti kódot, és az eredményt az alábbiak szerint nézze meg,

A mappa létezik az asztalomon, tehát megkapjuk az üzenetet, hogy a mappa létezik.

VBA FileSystemObject - 3. példa

Mióta megvitattuk, hogy az FSO-nak különféle tárgyai vannak, például meghajtók. Megtudja, mennyi hely áll rendelkezésre az E meghajtómban.

1. lépés: Indítsa el egy másik alprocesszorral az alábbiak szerint,

Kód:

 Sub Newfso1 () End Sub 

2. lépés: Most deklaráljon egy változót FileSystemObject néven, és állítsa be az új példányra a következők szerint,

Kód:

 Sub Newfso1 () A tompítása mint FileSystemObject készlet A = Új FileSystemObject vége Sub 

3. lépés: Most, hogy a meghajtó tulajdonságát használjuk, egy változót meghajtó típusként, egy változót pedig kettősként deklarál az adatok tárolására az alábbiak szerint,

Kód:

 Sub Newfso1 () Dim A mint FileSystemObject Set A = Új FileSystemObject Dim D Meghajtóként, Dspace mint dupla vég Sub 

4. lépés: Hozzunk létre egy új meghajtóobjektumot az alább látható módon,

Kód:

 Sub Newfso1 () Dim A, mint FileSystemObject Set A = Új FileSystemObject, Dim D, mint meghajtó, Dspace, mint dupla sorozat D = A.GetDrive ("C:") End Sub 

Ez az egyik FSO módszer, amelyet a meghajtó eléréséhez használunk.

5. lépés: Egy másik FSO módszert használunk a meghajtó szabad helyének megszerzésére és a meghajtóterület tárolására meghatározott változóban való tárolására,

Kód:

 Sub Newfso1 () Dim A mint FileSystemObject Set A = Új FileSystemObject Dim D Meghajtóként, Dspace kettős készletként D = A.GetDrive ("C:") Dspace = D.FreeSpace End Sub 

6. lépés: Most kiszámoljuk a helyet GB-ben az alábbiak szerint:

Kód:

 Sub Newfso1 () Dim A mint FileSystemObject Set A = Új FileSystemObject Dim D Meghajtóként, Dspace Dupla sorozatként D = A.GetDrive ("C:") Dspace = D.FreeSpace Dspace = Kerek ((Dspace / 1073741824), 2) Befejezés Sub 

7. lépés: Most az alábbiak szerint jelenítse meg a Meghajtó helyén tárolt értéket az msgbox funkcióval:

Kód:

 Sub Newfso1 () Dim A mint FileSystemObject Set A = Új FileSystemObject Dim D Meghajtóként, Dspace Dupla sorozatként D = A.GetDrive ("C:") Dspace = D.FreeSpace Dspace = Kerek ((Dspace / 1073741824), 2) MsgBox "A meghajtó" és a D & "" "és" Dspace & "GB szabad hely" "Sub Sub" végével rendelkezik 

8. lépés: Végezzük el a fenti kódot az alábbi eredmény megismeréséhez,

VBA FileSystemObject - 4. példa

Hozzunk létre egy új mappát egy megadott helyre az FSO segítségével.

1. lépés: Ismét kezdjük egy másik alprocesszorral, az alábbiak szerint,

Kód:

 Sub Newfso2 () End Sub 

2. lépés: Kövesse ugyanazokat a lépéseket, és hozzon létre egy példányt az alábbiak szerint,

Kód:

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

3. lépés: Most a Mappa létrehozása módszerrel fogunk új mappát létrehozni egy megadott helyre,

Kód:

 Sub Newfso2 () Felfedik A FileSystemObject halmazként A = Új FileSystemObject A.CreateFolder ("C: \ Felhasználók \ Nyilvános \ Projekt \ FSOExample") Alfejezet vége 

4. lépés: Végezze el a fenti kódot, és az alábbiak szerint nézze meg az eredményt az asztalon:

Sikeresen létrehozott egy új mappát a megadott helyre.

Ne feledje: VBA FileSystemObject

  • Az FSO egy API alkalmazás eszköz.
  • Az FSO alapértelmezés szerint nem érhető el a VBA-ban.
  • Az FSO segítségével fájlokat és mappákat hozhatunk létre, módosíthatunk vagy olvashatunk egy számítógépen.
  • Az FSO-t is használhatjuk hálózati meghajtóinkhoz.

Ajánlott cikkek

Ez a VBA FileSystemObject útmutatója. Itt tárgyaljuk, hogyan lehet használni a VBA FileSystemObject programot Excelben, néhány gyakorlati példával és letölthető Excel sablonnal együtt. Megnézheti más javasolt cikkeinket -

  1. Teljes útmutató a VBA munkafüzethez
  2. KÖZVETLEN funkció az Excelben
  3. VBA gróf funkció
  4. Excel XOR funkció

Kategória: