Excel VBA FreeFile

Ako často ste používateľom aplikácie Excel, otvoríte súbor a pracujete na tom istom? Veľmi často, však? Opäť je možné automatizovať úlohy pri otváraní súboru v Exceli pomocou výkonného nástroja VBA, ktorý umožňuje písať makrá a nakoniec automatizuje všetky úlohy od otvorenia súboru z daného umiestnenia na použitie, uloženie a zatvorenie na rovnakom mieste path. Keď hovoríme o automatizácii procesu otvárania a zatvárania súborov pomocou VBA, je veľmi dôležité indexovať súbor, aby systém mohol identifikovať súbor, ktorý sa má použiť v čase vykonávania. V rámci VBA máme k dispozícii funkciu s názvom FreeFile, ktorá slúži na tento účel.

Čo je funkcia VBA FreeFile?

VBA FreeFile je funkcia, ktorá je kategorizovaná pod funkciou VBA, ktorá umožňuje systému rezervovať číslo pre nasledujúci súbor, ktorý sa má otvoriť pod výstupným výstupom súboru VBA, pre hladký zážitok z kódovania a zníženie zbytočných chýb vo vašom kóde. Keď otvoríte súbor prostredníctvom VBA File IO (Input / Output), je absolútne povinné priradiť tomuto súboru jedinečné číslo, pretože môžete mať viac súborov na mieste, ktoré sa chystáte použiť na čítanie, zápis a otváranie pomocou svojho code. Ako systém vie, ktorý zo všetkých súborov, ktoré chcete otvoriť? Funkcia VBA FreeFile identifikuje jedinečné číslo, ktoré sme priradili súboru, a sprístupňuje ho na otváranie, čítanie alebo zápis vo VBA.

Syntax funkcie FreeFile je uvedená nižšie:

Táto funkcia berie iba jeden argument RangeNumber, ktorý má štandardné hodnoty ako nula (0) a jedna (1). Ak zadáte nulu, každému súboru, ktorý otvoríte, sa postupne priradí číslo súboru v rozsahu čísel 1 až 255. Ak ho zadáte, každému súboru, ktorý otvoríte, sa postupne priradí číslo súboru v rozsahu od 256 do 511. Ak nie je špecifikované žiadne číslo RangeNumber, v predvolenom nastavení sa bude uvažovať nula.

Ako používať funkciu FreeFile v programe Excel VBA?

Nižšie sú uvedené rôzne príklady použitia funkcie FreeFile v programe Excel VBA.

Túto šablónu Excel VBA FreeFile si môžete stiahnuť tu - šablónu VBA FreeFile Excel

VBA FreeFile - Príklad č. 1

Ak chcete použiť funkciu FreeFile v programe Excel VBA, postupujte podľa nasledujúcich krokov.

Krok 1: Otvorte nový editor jazyka Visual Basic (VBE) kliknutím na tlačidlo Visual Basic na karte Developer, ktorá sa nachádza v súbore programu Excel, alebo súčasným stlačením klávesov Alt + F11 .

Krok 2: Vložte nový modul do VBE. Kliknite na tlačidlo Vložiť . Vyberte modul zo zoznamu možností dostupných v časti Vložiť.

Krok 3: Definujte novú čiastkovú procedúru, ktorá môže obsahovať vaše makro.

kód:

 Sub príklad_1 () Koniec sub 

Krok 4: Definujte dve nové premenné, file_1 a file_2 ako celé číslo. Tieto dve premenné budú držať čísla, ktoré priradíme každému súboru, ktorý otvoríme v makre.

kód:

 Sub Example_1 () Dim file_1 As Integer Dim file_2 As Integer End Sub 

Krok 5: Použite operátora priradenia na priradenie celočíselnej hodnoty 1 k premennej file_1 pomocou VBA FreeFile.

kód:

 Sub Example_1 () Dim file_1 As Integer Dim file_2 As Integer file_1 = FreeFile End Sub 

Krok 6: Teraz použite príkaz Open, ktorý sa dá použiť na otvorenie súboru vo VBA.

kód:

 Sub Example_1 () Dim file_1 As Integer Dim file_2 As Integer file_1 = FreeFile Open "D: \ Excel Writing Content \ TextFile_1.txt" Pre Output As file_1 End Sub 

Tu sme určili cestu, na ktorej sa súbor nachádza. Príkaz For vám ponúka možnosti, ako napríklad, ako chcete otvoriť súbor (napríklad ako výstup) a príkaz As určuje číslo súboru, ktoré sme zadali pomocou príkazu FreeFile.

Krok 7: Podľa krokov 5 a 6 priradte novému súboru nové číslo pomocou premennej file_2 a otvorte ho.

kód:

 Sub Example_1 () Dim file_1 As Integer Dim file_2 As Integer file_1 = FreeFile Open "D: \ Excel Content Writing \ TextFile_1.txt" For Output As file_1 file_2 = FreeFile Open "D: \ Excel Content Writing \ TextFile_2.txt" For Output Ako file_2 End Sub 

Krok 8: Teraz by sme chceli vidieť čísla, ktoré sú skutočne priradené k obidvom textovým súborom. Každý riadok môžete spustiť jeden po druhom pomocou klávesu F8. Výstup sa vám však nebude zobrazovať. Ani v súbore Excel, ani v okne Immediate. Pridajte nasledujúci príkaz MsgBox, ktorý zobrazí okno so správami s číslami pre každý súbor.

kód:

 Sub Example_1 () Dim file_1 As Integer Dim file_2 As Integer file_1 = FreeFile Open "D: \ Excel Content Writing \ TextFile_1.txt" For Output As file_1 file_2 = FreeFile Open "D: \ Excel Content Writing \ TextFile_2.txt" For Output Ako file_2 MsgBox "Hodnota pre file_1 je:" & file_1 & Chr (13) & "Hodnota pre file_2 je:" & file_2 End Sub 

V tomto riadku kódu bude prvý riadok správy obsahovať text „value for file_1 is:“ a číselnú hodnotu priradenú pomocou funkcie FreeFile. Chr (13) umožňuje zobraziť ďalší riadok. Na ďalšom riadku okna správy sa zobrazí text „Hodnota pre súbor_2 je:“ a číslo priradené druhému súboru.

Krok 9: Spustite tento kód stlačením tlačidla Spustiť alebo stlačením klávesu F5.

Týmto spôsobom funkcia FreeFile umožňuje priraďovať číslo súboru, ktorý chcete otvoriť, prečítať a zatvoriť pomocou VBA.

VBA FreeFile - Príklad č. 2

Ak zatvoríme súbor, ktorý otvoríme, zakaždým, potom nový súbor, ktorý otvoríme, bude mať pri každom otvorení vždy sériové číslo 1. Postupujte podľa krokov uvedených nižšie.

Krok 1: Definujte novú čiastkovú procedúru, ktorá môže obsahovať vaše makro.

kód:

 Čiastkový príklad_2 () Koncový čiastkový údaj 

Krok 2: Definujte dve premenné file_1 a file_2 ako celé číslo v novo definovanej čiastkovej procedúre.

kód:

 Sub Príklad_2 () Dim file_1 As Integer Dim file_2 As Integer End Sub 

Krok 3: Teraz pomocou FreeFile priraďte číslu danému súboru a príkazom Open otvorte tento súbor na mieste, kde ho máme.

kód:

 Sub Example_2 () Dim file_1 As Integer Dim file_2 As Integer file_1 = FreeFile Open "D: \ Excel Obsah Writing \ TextFile_1.txt" Pre výstup As file_1 End Sub 

Krok 4: Pomocou príkazu MsgBox pridajte okno s hlásením pre počet prvých súborov.

kód:

 Sub Example_2 () Dim file_1 As Integer Dim file_2 As Integer file_1 = FreeFile Open "D: \ Excel Writing Content \ TextFile_1.txt" Pre Output As file_1 MsgBox "Hodnota file_1 je:" & file_1 End Sub 

Krok 5: Pomocou príkazu Zavrieť zatvorte prvý súbor, ktorý ste otvorili prostredníctvom VBA.

kód:

 Sub Example_2 () Dim file_1 As Integer Dim file_2 As Integer file_1 = FreeFile Open "D: \ Excel Writing Content \ TextFile_1.txt" Pre Output As file_1 MsgBox "Hodnota file_1 je:" & file_1 Close file_1 End Sub 

Krok 6: Teraz postupujte rovnakým spôsobom ako v kroku 5, kroku 6, kroku 7, ale pre druhý súbor. Zahŕňa priradenie hodnoty k premennej file_2 pomocou funkcie FreeFile a jej otvorenie pomocou príkazu Open, pomocou príkazu MsgBox sa zobrazí číslo súboru pre druhý súbor a nakoniec sa uzavrie druhý súbor.

kód:

 Sub Example_2 () Dim file_1 As Integer Dim file_2 As Integer file_1 = FreeFile Open "D: \ Excel Obsah Writing \ TextFile_1.txt" Pre výstup As file_1 MsgBox "Hodnota pre file_1 je:" & file_1 Zatvoriť file_1 file_2 = FreeFile Open "D : \ Excel pre zápis obsahu \ TextFile_2.txt "Pre výstup ako súbor_2 MsgBox" Hodnota pre súbor_2 je: "& file_2 Zatvoriť súbor_2 Koniec Sub" 

Krok 7: Spustite tento kód stlačením tlačidla Spustiť alebo F5.

Prvé okno správy predstavuje hodnotu súboru_1, ktorá sa javí ako 1. Druhé okno správy predstavuje hodnotu súboru_2, ktoré sa tiež javí ako 1. Táto zmena je tu, pretože sme použili príkaz close na zatvorenie súborov jeden po druhom. Z tohto dôvodu sa pri iniciácii nového súboru zakaždým, keď starý súbor a jeho číslo zmizne zo systémovej pamäte, nasledujúci súbor sa bude považovať za nový súbor s číslami začínajúcimi od 1.

Čo je potrebné pamätať

  • FreeFile vráti jedinečné celé číslo do každého súboru, ktorý otvárame, čítame a uzatvára prostredníctvom VBA File IO.
  • FreeFile má dve hodnoty pre argument RangeNumber (čo je voliteľné). Nula zvyčajne priradí číslo medzi rozsah 1 až 255 a jedno priradí čísla od 256 do 511.

Odporúčané články

Toto je sprievodca programom VBA FreeFile. Tu diskutujeme o tom, ako vám funkcia FreeFile umožňuje priraďovať číslo súboru, ktorý sa chystáte otvoriť, prečítať, zatvoriť pomocou Excel VBA, spolu s praktickými príkladmi a šablónou Excel na stiahnutie. Môžete si tiež prečítať naše ďalšie navrhované články -

  1. VBA Skontrolujte súbor existuje Šablóna Excel
  2. Dolný index VBA mimo rozsahu (príklady)
  3. GetObject Funkcia v Excel VBA
  4. Ako používať formát čísiel vo VBA?
  5. VBA Environ

Kategórie: