Excel VBA FreeFile
A FreeFile egy olyan funkció a VBA-ban, amely csak VBA-függvényként érhető el, munkalap-függvényként nem. A VBA FreeFile függvény visszaadja az egyedi egész számot a fájlba, amely megnyílik, és megőrzi a következő elérhető fájlszámot.
A fájlokat általában számítógépünkről nyitjuk meg, hogy valamit írjunk, vagy csak olvashatóvá tegyük őket, miközben ezekre a fájlokra hivatkozva egyedi egész számmal kell utalnunk. A VBA FreeFile funkció lehetővé teszi számunkra, hogy meghatározzuk azt az egyedi egész számot, amelyet hozzá kell rendelni a fájl megnyitásához a fájlok olvasásához, írásához és megnyitásához a VBA segítségével.
Most vessen egy pillantást az OPEN utasítás szintaxisára.
OPEN (fájl elérési útja) a (Megnyitás módja) néven
File Path Address: Meg kell említenünk a fájlunk címét a számítógépünkön, amelyet megpróbálunk megnyitni.
Megnyitási mód: A fájl megnyitása során tudnunk kell, hogy milyen modellt fogunk alkalmazni. Háromféle módszert használhatunk itt: „Beviteli mód”, „OutPut mód” és „Függelék mód”.
Beviteli mód csak a fájl olvasásához.
Kimeneti mód a meglévő adatok törléséhez és új adatok beillesztéséhez.
Függelék mód új adatok hozzáadásához a meglévő adatok megtartása mellett.
Fájlszám: Ezzel az argumentummal hivatkozhatunk az általunk megnyitott fájlra, ahol a „FreeFile” függvény létfontosságú szerepet játszik és visszaadja az egyedi egész számot.
Hogyan kell használni a FreeFile függvényt az Excel VBA-ban?
Most nézze meg az alábbi kódot.
Kód:
Sub FreeFile_Example1 () Dim útvonal karakterláncként Dim FileNumber as egész út "FileNumber = FreeFile nyitott elérési út a kimenethez, mint FileNumber End Sub
Most hadd dekódoljam a fenti kódot, hogy megértsd.
Először két változót deklaráltam.
A Dim Path mint karakterlánc, a Dim FileNumber egész szám
Ezután hozzárendeltem a fájl elérési útját a nevével.
Path = "D: Article 2019 File 1.txt"
Ezután még egy változóhoz hozzárendeltem a FREEFILE függvényt.
FileNumber = FreeFile
Ezután az Open utasítással megnyitottam a szöveges fájlt a fent említett elérési útban.
Nyissa meg a kimenet elérési útját FileNumber néven
Ok, most soronként futok az F8 billentyű lenyomásával, és megnézem a „FileNumber” változó értékét.
Ez a fájlszámot 1-nek mutatja. Tehát az ingyenes fájl funkció automatikusan fenntartja ezt a számot a nyitó fájlnak. Ennek futtatása közben más fájlok nem nyílnak meg.
Most folytatom a VBA kód következő sorának végrehajtását, és megnézem, mi a fájl száma, ha a következő sorra ugrok.
Most azt mondja, hogy 2. Tehát a FreeFile függvény fenntartja a 2. egyedi egész számot a második megnyitó fájl számára.
A FreeFile függvény mindig 1-et ad vissza, ha bezárjuk az Excel fájlt.
Egy dolgot meg kell vizsgálnunk, hogy a VBA „FreeFile” függvény mindig visszaadja, ha bezárjuk a megnyitott fájlt a második excel fájl megnyitása előtt.
Nézze meg például az alábbi kódot.
Kód:
Sub FreeFile_Example2 () Dim útvonal karakterláncként Dim FileNumber as egész út .txt "FileNumber = FreeFile nyitott elérési út a kimenethez FileNumber néven Bezárja a FileNumber End alnevet
Most ismét soronként hajtom végre a kódsort az F8 billentyű lenyomásával.
A szokásos módon 1-et ír.
Most a következő szintre lépek.
Még a második kísérletben is azt mondja 1.
Ennek oka az, hogy mivel a Fájl bezárása utasítást használtuk, a FreeFile felismeri az újonnan megnyitott fájlt mint újat, és az egész számot 1-nek adja vissza.