VBA FreeFile - Hvordan bruges FreeFile-funktion i Excel VBA?

Indholdsfortegnelse

Excel VBA FreeFile

FreeFile er en funktion i VBA, der kun er tilgængelig som en VBA-funktion, ikke som en regnearksfunktion. VBA FreeFile-funktion returnerer det unikke heltal til fil, som åbnes og bevarer det næste tilgængelige filnummer.

Vi åbner normalt filer fra vores computer for enten at skrive noget eller skrivebeskyttet, mens vi henviser til disse filer, skal vi henvise til med et unikt heltal. VBA FreeFile-funktion giver os mulighed for at bestemme det unikke heltal, der skal tildeles for at åbne filen til at læse, skrive og åbne filer ved hjælp af VBA.

Se nu på syntaksen for OPEN-udsagnet.

ÅBEN (filsti-adresse) For (tilstand at åbne) som (filnummer)

Filsti-adresse: Vi skal nævne filadressen på vores computer, som vi prøver at åbne.

Tilstand at åbne: Mens vi åbner filen, skal vi vide, hvilken slags model vi skal anvende. Vi kan bruge tre måder her, "Input Mode", "OutPut Mode" og "Append Mode."

Input-tilstand til kun at læse filen.

Output-tilstand for at udslette de eksisterende data og indsætte nye data.

Tilføj tilstand for at tilføje nye data, mens de eksisterende data bevares.

Filnummer: Med dette argument kan vi henvise til den fil, vi åbner, hvor "FreeFile" -funktionen spiller en vigtig rolle og returnerer det unikke heltal.

Hvordan bruges FreeFile-funktionen i Excel VBA?

Se nu på nedenstående kode.

Kode:

Sub FreeFile_Example1 () Dim sti som streng Dim FileNumber som hel sti = "D: Articles 2019 File 1.txt" FileNumber = FreeFile Åben sti til output som FileNumber sti = "D: Articles 2019 File 2.txt "FileNumber = FreeFile Åben sti til output som FileNumber End Sub

Lad mig nu afkode ovenstående kode, som du kan forstå.

For det første har jeg erklæret to variabler.

Dæmp sti som streng, dæmp filnummer som heltal

Så har jeg tildelt filstien med dens navn.

Sti = "D: Articles 2019 File 1.txt"

Så for den ene variabel, har jeg tildelt funktionen FREEFILE.

FileNumber = FreeFile

Så har jeg brugt Open-erklæringen til at åbne tekstfilen i filen nævnt ovenfor sti.

Åbn sti til output som filnummer

Ok, nu kører jeg linje for linjekode ved at trykke på F8-tasten og se værdien af ​​variablen "FileNumber."

Det viser filnummeret som 1. Så den gratis filfunktion forbeholder sig automatisk dette nummer til åbningsfilen. Mens du kører dette, åbnes ingen andre filer.

Nu vil jeg fortsætte med at udføre den næste linje af VBA-kode og se, hvad filnummeret er, hvis jeg springer til næste linje.

Nu står der 2. Så FreeFile-funktionen forbeholder sig det unikke heltal 2 til den anden åbningsfil.

FreeFile-funktion Returnerer altid 1, hvis vi lukker Excel-filen.

En ting, vi skal se på, er, at VBA “FreeFile” -funktionen altid returnerer en, hvis vi lukker den åbnede fil, inden vi åbner den anden excel-fil.

Se f.eks. Nedenstående kode.

Kode:

Sub FreeFile_Example2 () Dim sti som streng Dim FileNumber Som Integer Path = "D: Articles 2019 File 1.txt" FileNumber = FreeFile Åben sti til output som FileNumber Luk FileNumber Path = "D: Articles 2019 File 2 .txt "FileNumber = FreeFile Åbn sti til output som FileNumber Luk FileNumber End Sub

Nu vil jeg igen udføre koden linje for linje ved at trykke på F8-tasten.

Der står 1 som normalt.

Nu vil jeg komme videre til det næste niveau.

Selv i det andet forsøg på står der 1.

Årsagen til dette er, da vi har brugt erklæringen Luk fil, FreeFile genkender den nyåbnede fil som den nye og returnerer heltal som 1.

Interessante artikler...