VBA FreeFile - Jak používat funkci FreeFile v aplikaci Excel VBA?

Excel VBA FreeFile

FreeFile je funkce ve VBA, která je k dispozici pouze jako funkce VBA, nikoli jako funkce listu. Funkce VBA FreeFile vrací jedinečné celé číslo do souboru, který se otevře a zachová další dostupné číslo souboru.

Obvykle otevíráme soubory z našeho počítače, abychom buď něco zapsali, nebo jen pro čtení, zatímco na tyto soubory odkazujeme, musíme odkazovat s jedinečným celým číslem. Funkce VBA FreeFile nám umožňuje určit toto jedinečné celé číslo, které se přiřadí otevření souboru ke čtení, zápisu a otevření souborů pomocí VBA.

Nyní se podívejme na syntaxi příkazu OPEN.

OPEN (File Path Address) For (Mode to Open) As (File Number)

Adresa cesty k souboru: Musíme uvést adresu souboru v počítači, kterou se pokoušíme otevřít.

Režim otevírání: Při otevírání souboru potřebujeme vědět, jaký model použijeme. Můžeme zde použít tři způsoby: „Režim vstupu“, „Režim OutPut“ a „Režim připojení“.

Vstupní režim pro čtení pouze souboru.

Režim výstupu k vymazání stávajících dat a vložení nových dat.

Režim přidání pro přidání nových dat při zachování stávajících dat.

Číslo souboru: Tímto argumentem můžeme odkázat na soubor, který otevíráme - kde funkce „FreeFile“ hraje zásadní roli a vrací jedinečné celé číslo.

Jak používat funkci FreeFile v aplikaci Excel VBA?

Nyní se podívejte na níže uvedený kód.

Kód:

Sub FreeFile_Example1 () Dim Path As String Dim FileNumber As Integer Path = "D: Article 2019 File 1.txt" FileNumber = FreeFile Open Path for Output As FileNumber Path = "D: articles 2019 File 2.txt "FileNumber = FreeFile Otevřená cesta pro výstup jako File Subumber End Sub

Nyní mi dovolte dekódovat výše uvedený kód, abyste tomu porozuměli.

Nejprve jsem deklaroval dvě proměnné.

Dim Path As String, Dim FileNumber As Integer

Pak jsem přiřadil cestu k souboru s jeho názvem.

Cesta = "D: Články 2019 Soubor 1.txt"

Pak jsem pro jednu další proměnnou přidělil funkci FREEFILE.

FileNumber = FreeFile

Pak jsem použil příkaz Otevřít k otevření textového souboru v souboru uvedeném výše.

Otevřete cestu pro výstup jako číslo souboru

Dobře, nyní spustím řádek po řádku kód stisknutím klávesy F8 a uvidím hodnotu proměnné „FileNumber“.

Zobrazuje číslo souboru jako 1. Funkce bezplatného souboru tedy automaticky rezervuje toto číslo pro otevírací soubor. Během této operace se neotevřou žádné další soubory.

Nyní budu pokračovat v provádění dalšího řádku kódu VBA a uvidím, jaké je číslo souboru, pokud přejdu na další řádek.

Nyní říká 2. Funkce FreeFile tedy vyhrazuje jedinečné celé číslo 2 druhému otevíracímu souboru.

Funkce FreeFile vždy vrátí 1, pokud zavřeme soubor aplikace Excel.

Jedna věc, na kterou se musíme podívat, je funkce „FreeFile“ VBA vždy vrátí jednu, pokud uzavřeme otevřený soubor před otevřením druhého souboru aplikace Excel.

Podívejte se například na níže uvedený kód.

Kód:

Sub FreeFile_Example2 () Dim Path As String Dim FileNumber As Integer Path = "D: Články 2019 Soubor 1.txt" FileNumber = FreeFile Otevřená cesta pro výstup jako FileNumber Zavřít FileNumber Cesta = "D: Články 2019 Soubor 2 .txt "FileNumber = FreeFile Otevřená cesta pro výstup jako FileNumber Zavřít FileNumber End Sub

Nyní znovu provedu kódový řádek po řádku stisknutím klávesy F8.

Říká se 1 jako obvykle.

Nyní postoupím na další úroveň.

I při druhém pokusu to říká 1.

Důvodem je to, že jsme použili příkaz Zavřít soubor, FreeFile rozpozná nově otevřený soubor jako nový a vrátí celé číslo jako 1.

Zajímavé články...