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 TemplateVBA 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 -
- Teljes útmutató a VBA munkafüzethez
- KÖZVETLEN funkció az Excelben
- VBA gróf funkció
- Excel XOR funkció