VBA FreeFile - Kako uporabiti funkcijo FreeFile v Excelu VBA?

Excel VBA FreeFile

FreeFile je funkcija v VBA, ki je na voljo samo kot funkcija VBA, ne pa kot funkcija delovnega lista. Funkcija VBA FreeFile vrne unikatno celoštevilčno številko v datoteko, ki se odpre in ohrani naslednjo razpoložljivo številko datoteke.

Datoteke navadno odpremo iz računalnika, da napišemo nekaj ali samo za branje, pri čemer se moramo nanje sklicevati z enolično celoštevilčno številko. Funkcija VBA FreeFile nam omogoča, da določimo enolično celoštevilčno številko, ki jo bomo dodelili odpiranju datoteke za branje, pisanje in odpiranje datotek s pomočjo VBA.

Zdaj pa si oglejte sintakso stavka OPEN.

OPEN (Address Path Address) Za (Mode to Open) As (Številka datoteke)

Naslov poti datoteke: Omeniti moramo naslov datoteke v našem računalniku, ki ga poskušamo odpreti.

Način za odpiranje: med odpiranjem datoteke moramo vedeti, kakšen model bomo uporabili. Tu lahko uporabimo tri načine, »način vnosa«, »način izhoda« in »način dodajanja«.

Način vnosa za branje samo datoteke.

Izhodni način za brisanje obstoječih podatkov in vstavljanje novih podatkov.

Način dodajanja za dodajanje novih podatkov, hkrati pa ohranjanje obstoječih podatkov.

Številka datoteke: S tem argumentom se lahko sklicujemo na datoteko, ki jo odpiramo - ta ima funkcijo "FreeFile" ključno vlogo in vrne enolično celoštevilsko številko.

Kako uporabiti funkcijo FreeFile v Excelu VBA?

Zdaj si oglejte spodnjo kodo.

Koda:

Sub FreeFile_Example1 () Dim pot kot niz Dim DimNumber kot celoštevilska pot = "D: Članki 2019 Datoteka 1.txt" FileNumber = Odprta pot FreeFile za izhod kot Datoteka številke datoteke = "D: Članki 2019 Datoteka 2.txt "FileNumber = Odprta pot datoteke FreeFile za izhod kot končna podštevilka datoteke

Zdaj naj vam dekodiram zgornjo kodo, da jo boste razumeli.

Najprej sem razglasil dve spremenljivki.

Zatemni pot kot niz, zatemni številko datoteke kot celo število

Nato sem pot datoteke določil z imenom.

Pot = "D: Članki 2019 Datoteka 1.txt"

Potem sem za še eno spremenljivko dodelil funkcijo FREEFILE.

FileNumber = FreeFile

Nato sem z izjavo Open odprl besedilno datoteko v zgoraj omenjeni datoteki.

Odprite pot za izhod kot številka datoteke

Ok, zdaj bom s pritiskom tipke F8 zagnal vrstico za vrstico in prikazal vrednost spremenljivke »Številka datoteke«.

Številka datoteke je prikazana kot 1. Torej, funkcija brezplačne datoteke samodejno rezervira to številko v začetni datoteki. Med izvajanjem tega se ne odpre nobena druga datoteka.

Zdaj bom nadaljeval z izvajanjem naslednje vrstice kode VBA in videl, kakšna je številka datoteke, če skočim na naslednjo vrstico.

Zdaj piše 2. Torej funkcija FreeFile rezervira enolično celo število 2 za drugo odpiralno datoteko.

Funkcija FreeFile vedno vrne 1, če zapremo datoteko Excel.

Ena stvar, na katero moramo biti pozorni, je, da funkcija VBA »FreeFile« vedno vrne eno, če zapremo odprto datoteko, preden odpremo drugo datoteko excel.

Na primer, poglejte spodnjo kodo.

Koda:

Sub FreeFile_Example2 () Dim pot kot niz Dim DimNumber kot celoštevilska pot = "D: Članki 2019 Datoteka 1.txt" FileNumber = FreeFile Odprta pot za izhod kot FileNumber Zapri pot FileNumber = = D: Članki 2019 Datoteka 2 .txt "Številka datoteke = Odprta pot datoteke FreeFile za izhod kot številka datoteke Zapri številko konca Podštevilka

Zdaj bom še enkrat izvršil kodo po vrsticah s pritiskom na tipko F8.

Piše 1 kot običajno.

Zdaj bom napredoval na naslednjo stopnjo.

Že v drugem poskusu piše 1.

Razlog za to je, ker smo uporabili stavek Zapri datoteko, FreeFile prepozna novoodprto datoteko kot novo in vrne celo število kot 1.

Zanimive Članki...