Excel VBA FreeFile

Milyen gyakran Excel felhasználóként nyit meg egy fájlt, és ugyanazon a munkán dolgozik? Nagyon gyakran, igaz? Megint lehetőség van a fájl megnyitásának Excel feladatainak automatizálására egy erőteljes VBA eszköz használatával, amely lehetővé teszi a makrók írását, és végül automatizálja az összes feladatot, egy fájl adott helyről történő megnyitásáig, a felhasználásig, mentéshez és bezáráshoz ugyanazon a helyen. pálya. Miközben a fájl megnyitásának és bezárásának a VBA-n keresztüli automatizálásáról beszélünk, nagyon fontos lesz a fájl indexelése, hogy a rendszer azonosítsa, melyik fájlt kell használni a végrehajtás idején. A VBA-n belül rendelkezésre áll egy FreeFile nevû funkció, amely ezt a célt szolgálja.

Mi a VBA FreeFile funkció?

A VBA FreeFile egy olyan funkció, amelyet a VBA függvény kategóriába sorolunk, amely lehetővé teszi a rendszer számára, hogy a VBA fájlbemeneti kimenet alatt tároljon egy számot a következő megnyitandó fájlhoz a sima kódolási élmény érdekében, és a kód felesleges hibáinak csökkentése érdekében. Amikor megnyit egy fájlt a VBA File IO (bemeneti / kimeneti) fájlon keresztül, feltétlenül kötelezővé válik egy egyedi szám hozzárendelése ehhez a fájlhoz, mivel lehet, hogy több fájl található a helyszínen, amelyet az olvasáshoz, az íráshoz és a cél megnyitásához használ a kód. Honnan tudja a rendszer, hogy melyik fájlt kívánja megnyitni? A VBA FreeFile funkció azonosítja az egyedi számot, amelyet hozzárendelünk a fájlhoz, és elérhetővé teszi azt a VBA-ban való megnyitáshoz, olvasáshoz vagy íráshoz.

A FreeFile funkció szintaxisa az alábbiak szerint alakul:

Ez a funkció csak egy olyan RangeNumber argumentumot vesz, amelynek standard értéke nulla (0) és egy (1). Ha nullát ad meg, akkor a fájlszámot az egyes megnyitott fájlokhoz lépésenként az 1–255 számú tartományban rendeli el. Ha megad egyet, akkor a fájlszámot minden egyes megnyitott fájlhoz lépésenként, 256 és 511 közötti tartományban rendeli. Ha nincs megadva RangeNumber, akkor alapértelmezés szerint a nullát veszi figyelembe.

Hogyan lehet használni a FreeFile funkciót az Excel VBA-ban?

Az alábbiakban bemutatjuk a FreeFile funkció használatához szükséges különféle példákat az Excel VBA alkalmazásban.

Itt letöltheti ezt a VBA FreeFile Excel sablont - VBA FreeFile Excel sablon

VBA FreeFile - 1. példa

Kövesse az alábbi lépéseket a FreeFile Function használatához az Excel VBA alkalmazásban.

1. lépés: Nyisson meg egy új Visual Basic Editor (VBE) szoftvert az Excel fájlban található Fejlesztő lapon található Visual Basic gombra kattintva, vagy egyszerre megnyomva az Alt + F11 gombot.

2. lépés: Helyezzen be új modult a VBE-be. Kattintson a Beszúrás gombra. Válassza a Modul lehetőséget a Beszúrás menüben elérhető lehetőségek listájából.

3. lépés: Adjon meg egy új alapelvet, amely képes tartani a makrót.

Kód:

 Alpélda_1 () Alfejezet vége 

4. lépés: Határozzon meg két új változót, a fájl_1 és a fájl_2 egész számot. Ez a két változó tartalmazza azokat a számokat, amelyeket az egyes makrókban megnyitott fájlokhoz rendelünk.

Kód:

 Alpélda_1 () Halvány fájl_1 Egész számként Halvány fájl_2 Egész számként Vége Al 

5. lépés: A hozzárendelés operátorával rendeljen egész számot a fájl_1 változóhoz a VBA FreeFile segítségével.

Kód:

 Alpélda_1 () Halvány fájl_1 Egész számként Halvány fájl_2 Egész szám fájl_1 = FreeFile End Sub 

6. lépés: Most használja az Open utasítást, amely felhasználható egy fájl megnyitásához a VBA-ban.

Kód:

 Alpélda_1 () Halvány fájl_1 Egész számként Halvány fájl_2 Egész szám fájl_1 = FreeFile Nyissa meg a "D: \ Excel tartalom írása \ TextFile_1.txt" kimeneti fájlként fájl végét Al 

Itt megadtuk a fájl elérési útját. A For utasítás tartalmazza a fájl megnyitásának lehetőségeit (pl. Kimenetként), és az As utasítás megadja a FreeFile utasítás használatával megadott fájlszámot.

7. lépés: Kövesse az 5. és a 6. lépést, hogy új számot rendeljen a második fájlhoz a file_2 változón keresztül, és nyissa meg.

Kód:

 Alpélda_1 () Dim fájl_1 Egész számként Halvány fájl_2 Egész fájlként_1 = FreeFile Megnyitás "D: \ Excel tartalomírás \ TextFile_1.txt" Kimenetként fájl_1 fájl_2 = FreeFile Megnyitás "D: \ Excel Tartalomírás \ TextFile_2.txt" Kimenet Fájlként_2 

8. lépés: Most szeretnénk látni a számokat, amelyeket mindkét szöveges fájlhoz hozzárendeltek. Az F8 billentyű segítségével egyes sorokat futtathat egyenként. A kimenet azonban nem lesz látható Önnek. Sem az Excel fájlban, sem az Azonnali ablakban. Adja hozzá a következő MsgBox nyilatkozatot, amely felugró üzenetmezőt tartalmaz az egyes fájlok számával.

Kód:

 Alpélda_1 () Dim fájl_1 Egész számként Halvány fájl_2 Egész fájlként_1 = FreeFile Megnyitás "D: \ Excel tartalomírás \ TextFile_1.txt" Kimenetként fájl_1 fájl_2 = FreeFile Megnyitás "D: \ Excel Tartalomírás \ TextFile_2.txt" Kimenet MsgBox "file_2 MsgBox" a (z )_1 fájl értéke: "& fájl_1 és Chr (13) &" a fájl_2 értéke: "és fájl_2 vége Sub 

Ebben a kódsorban az üzenetmező első sorában az „érték a fájl_1-re van:” szöveget és a FreeFile funkcióval hozzárendelt numerikus értéket kell tartalmazni. Chr (13) lehetővé teszi a következő sor megjelenését. Az üzenetdoboz következő sorában az „A fájl_2 értéke:” értékű lesz, és a második fájlhoz hozzárendelt szám lesz.

9. lépés: Futtassa ezt a kódot a Futtatás gomb megnyomásával vagy az F5 billentyű megnyomásával.

Így a FreeFile funkció lehetővé teszi a szám hozzárendelését a VBA-n keresztül megnyitni, olvasni vagy bezárni kívánt fájlhoz.

VBA FreeFile - 2. példa

Ha minden alkalommal bezárjuk a megnyitott fájlt, akkor az új megnyitott fájl sorozatszáma mindig 1-es lesz. Hajtsa végre az alábbi lépéseket.

1. lépés: Adjon meg egy új alapelvet, amely képes tartani a makrót.

Kód:

 Alpélda_2 () Albekezdés vége 

2. lépés: Definiáljon két változót: file_1 és file_2 egész számként az újonnan meghatározott alprogramban.

Kód:

 Alpélda_2 () Dim fájl_1 egészként Dim fájl_2 egész számként Vége Al 

3. lépés: Most a FreeFile használatával rendeljen számot az adott fájlhoz, és Nyisson meg nyilatkozatot a fájl megnyitásához azon a helyen, ahol van.

Kód:

 Alpélda_2 () Dim fájl_1 egész számként Dim fájl_2 egész szám fájl_1 = FreeFile Nyissa meg a "D: \ Excel tartalom írása \ TextFile_1.txt" kimeneti fájlként fájl végét 

4. lépés: MsgBox utasítás használatával adjon hozzá üzenetadatot az első fájlok számához.

Kód:

 Alpélda_2 () Dim fájl_1 egész számként Dim fájl_2 egész szám fájl_1 = FreeFile Megnyitás "D: \ Excel tartalomírás \ TextFile_1.txt" Kimenetként fájl_1ként. MsgBox "A fájl_1 értéke:" & fájl_1 Alul vége 

5. lépés: A Bezárás utasítás használatával zárja be az első fájlt, amelyet a VBA-n keresztül nyitott meg.

Kód:

 Alpélda_2 () Dim fájl_1 egész számként Dim fájl_2 egész szám fájl_1 = FreeFile Megnyitás "D: \ Excel tartalomírás \ TextFile_1.txt" Kimenetként fájlként_1 MsgBox "A fájl_1 értéke:" & fájl_1 fájl bezárása_1 Alul vége 

6. lépés: Most kövesse ugyanazt az eljárást, mint az 5., 6., 7. lépésnél, de a második fájlhoz. Ez magában foglalja a fájl_2 változó értékének hozzárendelését a FreeFile funkció használatával, valamint az Open utasítás segítségével történő megnyitását, az MsgBox használatával a második fájl fájlszámának megjelenítését, és végül a második fájl bezárását.

Kód:

 Alpélda_2 () Halvány fájl_1 Egész számként Halvány fájl_2 Egész szám fájlként = FreeFile Megnyitás "D: \ Excel tartalomírás \ TextFile_1.txt" Kimenetként fájlként MsgBox "A fájl_1 értéke:" & fájl_1 fájl bezárása_1 fájl_2 = FreeFile megnyitása "D : \ Excel tartalomírása \ TextFile_2.txt "Output As file_2 MsgBox" fájl_2 értéke: "& file_2 file_2 bezárása 

7. lépés: Futtassa ezt a kódot a Futtatás gombra vagy az F5-re.

Az első üzenődoboz a fájl_1 értékét jelöli, amely 1-nek tűnik. A második üzenődoboz a fájl_2 értékét képviseli, amely szintén látszik 1-nek. Ez a változás azért van, mert a közeli utasítás segítségével a fájlokat egyenként bezártuk. Ennek eredményeként, miközben új fájlt kezdeményez, minden alkalommal, amikor a régi fájl és annak száma eltűnik a rendszer memóriájából, a következő fájlt friss fájlnak tekintik, amelynek száma 1-től kezdődik.

Dolgok, amikre emlékezni kell

  • A FreeFile egyedi egész számot ad vissza minden megnyitott, olvasott és bezárt fájlhoz a VBA File IO-n keresztül.
  • A FreeFile két értékkel rendelkezik a RangeNumber argumentumhoz (ami nem kötelező). A nulla általában az 1 és 255 közötti tartományt rendeli, az egyik pedig a 256 és 511 közötti számot jelöli.

Ajánlott cikkek

Ez egy útmutató a VBA FreeFile-hez. Itt tárgyaljuk, hogy a FreeFile funkció lehetővé teszi-e a szám hozzárendelését a fájlhoz, amelyet megnyitni, olvasni, bezárni szeretne az Excel VBA-n keresztül, a gyakorlati példákkal és a letölthető Excel sablonnal együtt. Megnézheti más javasolt cikkeinket -

  1. VBA ellenőrző fájl létezik Excel sablon
  2. VBA feliratkozás a tartományon kívül (példák)
  3. GetObject függvény az Excel VBA-ban
  4. Hogyan lehet a számformátumot használni a VBA-ban?
  5. VBA Environ

Kategória: