Excel VBA FreeFile

Hvor ofte du er en Excel-bruker, åpner du en fil og jobber med den samme? Veldig ofte, ikke sant? Det er igjen mulig å automatisere oppgavene med å åpne filen i Excel ved hjelp av et kraftig verktøy VBA som lar deg skrive makroer og til slutt automatisere alle oppgavene fra å åpne en fil fra et gitt sted å bruke, lagre og lukke den på samme sti. Mens vi snakker om å automatisere prosessen med filåpning og lukking gjennom VBA, blir det veldig viktig å indeksere filen slik at systemet kan identifisere hvilken fil som skal brukes på utførelsestidspunktet. Vi har en funksjon tilgjengelig innen VBA kalt FreeFile som tjener dette formålet.

Hva er VBA FreeFile-funksjon?

VBA FreeFile er en funksjon som er kategorisert under VBA-funksjon som lar systemet reservere et nummer for neste fil som skal åpnes under VBA File Input Output for en jevn kodingsopplevelse og redusere unødvendige feil i koden din. Når du åpner en fil gjennom VBA-fil IO (Input / Output), blir det helt obligatorisk å tilordne et unikt nummer til den filen fordi du kan ha flere filer på det stedet du skal bruke til å lese, skrive og åpne formålet gjennom kode. Hvordan vet systemet hvilken fil av alle de du vil åpne? VBA FreeFile-funksjonen identifiserer det unike nummeret vi tildeler filen og gjør det tilgjengelig for deg å åpne, lese eller skrive i VBA.

Syntaks for FreeFile-funksjonen er som nedenfor:

Denne funksjonen tar bare ett argument RangeNumber som har standardverdiene som null (0) og ett (1). Hvis du spesifiserer null, tilordnes filnummeret gjennom intervallet med tallene 1 til 255 trinnvis for hver fil du åpner. Hvis du spesifiserer en, vil filnummeret tilordnes trinnvis i området 256 til 511 for hver fil du åpner. Hvis ingen RangeNumber er spesifisert, vil null bli vurdert som standard.

Hvordan bruke FreeFile-funksjonen i Excel VBA?

Nedenfor er de forskjellige eksemplene du kan bruke FreeFile-funksjonen i Excel VBA.

Du kan laste ned denne VBA FreeFile Excel-malen her - VBA FreeFile Excel Mal

VBA FreeFile - Eksempel # 1

Følg trinnene nedenfor for å bruke FreeFile-funksjon i Excel VBA.

Trinn 1: Åpne en ny Visual Basic Editor (VBE) ved å klikke på Visual Basic- knappen under fanen Developer i Excel-filen din eller ved å trykke på Alt + F11- knappen samtidig.

Trinn 2: Sett inn en ny modul i VBE. Klikk på Sett inn- knappen. Velg Modul fra listen over tilgjengelige alternativer i Sett inn.

Trinn 3: Definer en ny delprosedyre som kan inneholde makroen.

Kode:

 Undereksempel_1 () Slutt sub 

Trinn 4: Definer to nye variabler, fil_1 og fil_2 som et helt tall. Disse to variablene vil inneholde tallene vi tilordner til hver fil vi åpner gjennom makroen.

Kode:

 Undereksempel_1 () Dim fil_1 Som heltall Dim fil_2 Som heltall Slutt Sub 

Trinn 5: Bruk oppdragsoperatøren til å tilordne heltallverdi 1 til fil_1- variabelen ved hjelp av VBA FreeFile.

Kode:

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

Trinn 6: BrukOpen- setningen som kan brukes til å åpne en fil i VBA.

Kode:

 Undereksempel_1 () Dim fil_1 Som heltall Dim fil_2 Som heltall fil_1 = FreeFile Open "D: \ Excel Content Writing \ TextFile_1.txt" For Output As file_1 End Sub 

Her har vi spesifisert banen som filen ligger på. For-setningen gir deg alternativer som hvordan du vil åpne filen (for eks. Som en utdata) og As-setningen spesifiserer filnummeret som vi har spesifisert ved hjelp av FreeFile-setningen.

Trinn 7: Følg trinn 5 og trinn 6 for å tilordne et nytt nummer til den andre filen gjennom variabelen file_2 og Åpne den.

Kode:

 Undereksempel_1 () Dim fil_1 Som heltall Dim fil_2 Som heltall 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" For Output Som fil_2 Slutt sub 

Trinn 8: Nå vil vi se tallene som faktisk er tilordnet begge tekstfilene. Du kan kjøre hver linje én etter én ved hjelp av F8-tasten. Utdataene vil imidlertid ikke være synlige for deg. Verken i Excel-fil eller i øyeblikkelig vindu. Legg til følgende MsgBox- setning som dukker opp en meldingsboks med tallene for hver fil.

Kode:

 Undereksempel_1 () Dim fil_1 Som heltall Dim fil_2 Som heltall 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" For Output Som fil_2 MsgBox er "Verdi for fil_1:" & fil_1 & Chr (13) og "Verdi for fil_2 er:" & fil_2 Slutt sub 

I denne kodelinjen vil den første linjen i meldingsboksen inneholde teksten “verdi for fil_1 er:” og den numeriske verdien tildelt ved hjelp av FreeFile-funksjonen. Chr (13) lar neste linje vises. Den neste linjen i meldingsboksen vil lese “Verdi for fil_2 er:” og nummeret som er tilordnet den andre filen.

Trinn 9: Kjør denne koden ved å trykke på Kjør-knappen eller ved å trykke på F5-tasten.

Slik lar FreeFile-funksjonen deg tilordne nummeret til filen du skal åpne, lese, lukke gjennom VBA.

VBA FreeFile - Eksempel # 2

Hvis vi lukker filen vi åpner hver gang, vil den nye filen vi åpner alltid ha et serienummer som 1 hver gang den åpnes. Følg trinnene nedenfor for å se det gjennom.

Trinn 1: Definer en ny delprosedyre som kan inneholde makroen.

Kode:

 Undereksempel_2 () Slutt sub 

Trinn 2: Definer to variabler file_1 og file_2 som et heltall i den nylig definerte delprosedyren.

Kode:

 Undereksempel_2 () Dim fil_1 Som heltall Dim fil_2 Som heltal Slutt Sub 

Trinn 3: BrukFreeFile til å tilordne et nummer til den gitte filen og Åpne setningen for å åpne filen gjennom stedet der vi har den.

Kode:

 Undereksempel_2 () Dim-fil_1 Som heltall Dim-fil_2 Som heltall-fil_1 = FreeFile Open "D: \ Excel Content Writing \ TextFile_1.txt" For Output As file_1 End Sub 

Trinn 4: Bruk en MsgBox-setning for å legge til en meldingsboks for antallet av de første filene.

Kode:

 Undereksempel_2 () Dim-fil_1 Som heltall Dim-fil_2 Som heltall-fil_1 = FreeFile Open "D: \ Excel Content Writing \ TextFile_1.txt" For Output As file_1 MsgBox "Verdi for fil_1 er:" & file_1 End Sub 

Trinn 5: Bruk en Lukk- setning for å lukke den første filen du åpnet gjennom VBA.

Kode:

 Undereksempel_2 () Dim fil_1 Som heltall Dim fil_2 Som heltall fil_1 = FreeFile Open "D: \ Excel Content Writing \ TextFile_1.txt" For Output As file_1 MsgBox "Verdi for fil_1 er:" & file_1 Lukk fil_1 Slutt Sub 

Trinn 6: Følg nå samme prosedyre som i trinn 5, trinn 6, trinn 7, men for den andre filen. Det inkluderer å tilordne verdi til file_2-variabelen ved hjelp av FreeFile-funksjonen og åpne den ved hjelp av Open-setningen, bruke MsgBox til å vise filnummeret for den andre filen og til slutt lukke den andre filen.

Kode:

 Undereksempel_2 () Dim fil_1 Som heltall Dim fil_2 Som heltallfil_1 = FreeFile Open "D: \ Excel Content Writing \ TextFile_1.txt" For Output As file_1 MsgBox "Verdi for fil_1 er:" & file_1 Lukk fil_1 file_2 = FreeFile Open "D : \ Excel Content Writing \ TextFile_2.txt "For Output As file_2 MsgBox" Verdi for file_2 er: "& file_2 Lukk file_2 End Sub 

Trinn 7: Kjør denne koden ved å trykke på Kjør-knappen eller F5.

Den første meldingsboksen representerer verdien til fil_1 som ser ut til å være 1. Den andre meldingsboksen representerer verdien til fil_2 som også ser ut til å være 1. Denne endringen er der fordi vi har brukt den nære uttalelsen til å lukke filene en etter en. Derfor, mens du initierer en ny fil, blir hver gang den gamle filen og nummeret forsvunnet fra systemminnet og neste fil anses som en fersk fil med tall fra 1.

Ting å huske

  • FreeFile returnerer et unikt heltall til hver fil vi åpner, leser, lukker gjennom VBA File IO.
  • FreeFile har to verdier for argument RangeNumber (som er valgfritt). Null tildeler vanligvis tallet mellom området 1 til 255 og en tildeler tallene fra 256 til 511.

Anbefalte artikler

Dette er en guide til VBA FreeFile. Her diskuterer vi hvordan FreeFile-funksjonen lar deg tilordne nummeret til filen du skal åpne, lese, lukke gjennom Excel VBA sammen med praktiske eksempler og nedlastbar Excel-mal. Du kan også gå gjennom andre foreslåtte artikler -

  1. VBA-sjekkfil eksisterer | Excel-mal
  2. VBA-abonnement utenfor rekkevidde (eksempler)
  3. GetObject-funksjon i Excel VBA
  4. Hvordan bruke nummerformat i VBA?
  5. VBA-miljø

Kategori: