Excel VBA FreeFile

Hvor ofte er du Excel-bruger, du åbner en fil og arbejder på den samme? Meget ofte, ikke? Det er igen muligt at automatisere opgaverne med at åbne filen i Excel ved hjælp af et kraftfuldt værktøj VBA, der giver dig mulighed for at skrive makroer og i sidste ende automatisere alle opgaver, der starter med at åbne en fil fra en given placering til brug, gemme og lukke den på samme sti. Mens vi taler om at automatisere processen med filåbning og lukning gennem VBA, bliver det meget vigtigt at indeksere filen, så systemet kan identificere hvilken fil, der skal bruges på udførelsestidspunktet. Vi har en funktion tilgængelig inden for VBA ved navn FreeFile, der tjener dette formål.

Hvad er VBA FreeFile-funktion?

VBA FreeFile er en funktion, der er kategoriseret under VBA-funktion, der giver systemet mulighed for at reservere et nummer til den næste fil, der skal åbnes under VBA-filindgangsoutput for en jævn kodningsoplevelse og reducere unødvendige fejl i din kode. Når du åbner en fil gennem VBA-fil IO (input / output), bliver det absolut obligatorisk at tildele et unikt nummer til den fil, fordi du muligvis har flere filer på det sted, du skal bruge til at læse, skrive og åbne formålet gennem din kode. Hvordan ved systemet, hvilken fil ud af alle dem, du vil åbne? VBA FreeFile-funktionen identificerer det unikke nummer, vi tildeler filen, og gør det tilgængeligt for dig at åbne, læse eller skrive i VBA.

Syntaks for FreeFile-funktionen er som nedenfor:

Denne funktion tager kun et argument RangeNumber, der har standardværdierne som nul (0) og et (1). Hvis du angiver nul, tildeles filnummeret gennem intervallet af numre 1 til 255 trinvis for hver fil, du åbner. Hvis du specificerer en, tildeles filnummeret trinvis i intervallet 256 til 511 for hver fil, du åbner. Hvis der ikke er angivet nogen RangeNumber, betragtes nul som standard.

Sådan bruges FreeFile-funktionen i Excel VBA?

Nedenfor er de forskellige eksempler til brug af FreeFile-funktion i Excel VBA.

Du kan downloade denne VBA FreeFile Excel-skabelon her - VBA FreeFile Excel-skabelon

VBA FreeFile - Eksempel # 1

Følg nedenstående trin for at bruge FreeFile-funktion i Excel VBA.

Trin 1: Åbn en ny Visual Basic Editor (VBE) ved at klikke på Visual Basic- knappen under fanen Udvikler, der findes i din Excel-fil, eller ved at trykke på Alt + F11- knappen samtidigt.

Trin 2: Indsæt et nyt modul i VBE. Klik på knappen Indsæt . Vælg Modul fra listen over tilgængelige indstillinger i Indsæt.

Trin 3: Definer en ny underprocedure, der kan indeholde din makro.

Kode:

 Undereksempel_1 () Slut sub 

Trin 4: Definer to nye variabler, fil_1 og fil_2 som et heltal. Disse to variabler vil indeholde de numre, vi tildeler til hver fil, vi åbner i hele makroen.

Kode:

 Undereksempel_1 () Dim-fil_1 Som heltal Dim-fil_2 Som heltal Slutt 

Trin 5: Brug tildelingsoperatør til at tildele heltalværdi 1 til fil_1- variabel ved hjælp af VBA FreeFile.

Kode:

 Undereksempel_1 () Dim fil_1 Som heltal Dim fil_2 Som heltal fil_1 = FreeFile End Sub 

Trin 6: Brug nu Open- sætningen, som kan bruges til at åbne en fil i VBA.

Kode:

 Undereksempel_1 () Dim fil_1 Som heltal Dim fil_2 Som heltal fil_1 = FreeFile Open "D: \ Excel Content Writing \ TextFile_1.txt" Til output som fil_1 End Sub 

Her har vi specificeret den sti, som filen ligger på. For-sætningen giver dig muligheder, som hvordan du vil åbne filen (f.eks. Som output), og As-sætningen specificerer det filnummer, som vi har angivet ved hjælp af FreeFile-sætningen.

Trin 7: Følg Trin 5 og Trin 6 for at tildele et nyt nummer til den anden fil gennem variablen file_2 og Åbn den.

Kode:

 Undereksempel_1 () Dim fil_1 Som heltal Dim fil_2 Som heltal fil_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" Til output Som fil_2 End Sub 

Trin 8: Nu vil vi gerne se de numre, der faktisk er tildelt til begge tekstfiler. Du kan køre hver linje en efter en ved hjælp af F8-tasten. Outputet vil dog ikke være synligt for dig. Hverken i Excel-fil eller i det umiddelbare vindue. Tilføj venligst følgende MsgBox- sætning, der viser en meddelelsesboks med numrene for hver fil.

Kode:

 Undereksempel_1 () Dim fil_1 Som heltal Dim fil_2 Som heltal fil_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" Til output Da fil_2 MsgBox "Værdi for fil_1 er:" & fil_1 & Chr (13) & "Værdi for fil_2 er:" & fil_2 Slutund 

I denne kodelinie indeholder den første linje i meddelelsesfeltet teksten “værdi for fil_1 er:” og den numeriske værdi, der er tildelt ved hjælp af FreeFile-funktionen. Chr (13) tillader, at den næste linje vises. Den næste linje i meddelelsesfeltet lyder "Værdi for fil_2 er:" og nummeret tildelt til den anden fil.

Trin 9: Kør denne kode ved at trykke på Run-knappen eller ved at trykke på F5-tasten.

Sådan giver FreeFile-funktionen dig mulighed for at tildele nummeret til den fil, du vil åbne, læse, lukke gennem VBA.

VBA FreeFile - Eksempel # 2

Hvis vi lukker filen, vi åbner hver gang, vil den nye fil, vi åbner, altid have et serienummer som 1, hver gang den åbnes. Følg nedenstående trin for at se det igennem.

Trin 1: Definer en ny underprocedure, der kan indeholde din makro.

Kode:

 Undereksempel_2 () Slutundert 

Trin 2: Definer to variabler file_1 og file_2 som et heltal i den nyligt definerede underprocedure.

Kode:

 Undereksempel_2 () Dim-fil_1 Som heltal Dim-fil_2 Som heltal Slutt 

Trin 3: Brug nu FreeFile til at tildele et nummer til den givne fil og Åbn erklæring for at åbne den fil gennem det sted, hvor vi har den.

Kode:

 Undereksempel_2 () Dim fil_1 Som heltal Dim fil_2 Som heltal fil_1 = FreeFile Open "D: \ Excel Content Writing \ TextFile_1.txt" Til output som fil_1 End Sub 

Trin 4: Brug en MsgBox-sætning til at tilføje en meddelelsesboks til antallet af de første filer.

Kode:

 Undereksempel_2 () Dim fil_1 Som heltal Dim fil_2 Som heltal fil_1 = FreeFile Open "D: \ Excel Content Writing \ TextFile_1.txt" For output som fil_1 MsgBox "Værdi for fil_1 er:" & file_1 End Sub 

Trin 5: Brug en Luk- sætning til at lukke den første fil, du åbnede gennem VBA.

Kode:

 Undereksempel_2 () Dim fil_1 Som heltal Dim fil_2 Som heltal fil_1 = FreeFile Åben "D: \ Excel Content Writing \ TextFile_1.txt" For output som fil_1 MsgBox "Værdi for fil_1 er:" & file_1 Luk fil_1 Slut sub 

Trin 6: Følg nu den samme procedure som i Trin 5, Trin 6, Trin 7, men for den anden fil. Det inkluderer tildeling af værdi til fil_2-variabel ved hjælp af FreeFile-funktionen og åbning af den ved hjælp af Open-sætning, ved hjælp af MsgBox til at vise filnummeret for den anden fil og til sidst lukke den anden fil.

Kode:

 Undereksempel_2 () Dim-fil_1 Som heltal Dim-fil_2 Som heltal-fil_1 = FreeFile Open "D: \ Excel Content Writing \ TextFile_1.txt" For output som fil_1 MsgBox "Værdi for fil_1 er:" & file_1 Luk fil_1 file_2 = FreeFile Open "D : \ Excel Content Writing \ TextFile_2.txt "Til output som file_2 MsgBox" Værdi for file_2 er: "& file_2 Luk file_2 End Sub 

Trin 7: Kør denne kode ved at trykke på knappen Kør eller F5.

Den første meddelelsesboks repræsenterer værdien af ​​fil_1, der ser ud til at være 1. Den anden meddelelsesboks repræsenterer værdien af ​​fil_2, som også ser ud til at være 1. Denne ændring er der, fordi vi har brugt lukkeerklæringen til at lukke filerne en ad gangen. Som følge heraf betragtes hver gang den gamle fil og dets nummer forsvinder fra systemhukommelsen, og den næste fil betragtes som en ny fil med numre, der starter fra 1, mens du starter en ny fil.

Ting at huske

  • FreeFile returnerer et unikt heltal til hver fil vi åbner, læser og lukker gennem VBA File IO.
  • FreeFile har to værdier for argument RangeNumber (som er valgfri). Nul tildeler normalt nummeret mellem området 1 til 255 og en tildeler numrene fra 256 til 511.

Anbefalede artikler

Dette er en guide til VBA FreeFile. Her diskuterer vi, hvordan FreeFile-funktion giver dig mulighed for at tildele nummeret til den fil, du skal åbne, læse, lukke gennem Excel VBA sammen med praktiske eksempler og downloadbar excel-skabelon. Du kan også gennemgå vores andre foreslåede artikler -

  1. VBA-kontrolfil findes | Excel-skabelon
  2. VBA-abonnement uden for rækkevidde (eksempler)
  3. GetObject-funktion i Excel VBA
  4. Sådan bruges nummerformat i VBA?
  5. VBA-miljø

Kategori: