VBA FreeFile - Hvordan bruke FreeFile-funksjonen i Excel VBA?

Innholdsfortegnelse

Excel VBA FreeFile

FreeFile er en funksjon i VBA som bare er tilgjengelig som en VBA-funksjon, ikke som en regnearkfunksjon. VBA FreeFile-funksjonen returnerer det unike heltallet til filen, som åpnes og bevarer neste tilgjengelige filnummer.

Vi åpner vanligvis filer fra datamaskinen vår for å skrive noe eller skrivebeskyttet, mens vi refererer til disse filene, må vi referere med et unikt heltall. VBA FreeFile-funksjonen lar oss bestemme det unike heltallet som skal tilordnes til å åpne filen for å lese, skrive og åpne filer ved hjelp av VBA.

Ta en titt på syntaksen til OPEN-uttalelsen.

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

Filsti-adresse: Vi må nevne filadressen på datamaskinen vår som vi prøver å åpne.

Modus for å åpne: Når vi åpner filen, må vi vite hva slags modell vi skal bruke. Vi kan bruke tre måter her, "Input Mode", "OutPut Mode" og "Append Mode."

Inndatamodus for å lese bare filen.

Utgangsmodus for å utslette eksisterende data og sette inn nye data.

Legg til modus for å legge til nye data mens du beholder eksisterende data.

Filnummer: Med dette argumentet kan vi referere til filen vi åpner - dette der “FreeFile” -funksjonen spiller en viktig rolle og returnerer det unike heltallet.

Hvordan bruker jeg FreeFile-funksjonen i Excel VBA?

Nå, se på koden nedenfor.

Kode:

Sub FreeFile_Example1 () Dim Path As String Dim FileNumber As Integer Path = "D: Articles 2019 File 1.txt" FileNumber = FreeFile Open Path For Output As FileNumber Path = "D: Articles 2019 File 2.txt "FileNumber = FreeFile Åpne bane for utdata som FileNumber End Sub

La meg nå dekode koden ovenfor slik at du kan forstå.

Først har jeg erklært to variabler.

Dim Path As String, Dim FileNumber As Integer

Så har jeg tildelt filbanen med navnet.

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

Så for den ene variabelen til har jeg tildelt FREEFILE-funksjonen.

FileNumber = FreeFile

Så har jeg brukt Open-setningen for å åpne tekstfilen i filen som er nevnt ovenfor banen.

Åpne bane for utdata som filnummer

OK, nå vil jeg kjøre linje for linjekode ved å trykke på F8-tasten og se verdien av variabelen "FileNumber."

Det viser filnummeret som 1. Så, gratisfilfunksjonen reserverer automatisk dette nummeret til åpningsfilen. Mens du kjører dette, åpnes ingen andre filer.

Nå vil jeg fortsette å utføre neste linje med VBA-kode og se hva filnummeret er hvis jeg hopper til neste linje.

Nå står det 2. Så FreeFile-funksjonen reserverer det unike heltallet nummer 2 til den andre åpningsfilen.

FreeFile-funksjonen returnerer alltid 1 hvis vi lukker Excel-filen.

En ting vi må se på er at VBA “FreeFile” -funksjon alltid returnerer en hvis vi lukker den åpnede filen før vi åpner den andre excel-filen.

Se for eksempel på koden nedenfor.

Kode:

Sub FreeFile_Example2 () Dim Path As String Dim FileNumber As Integer Path = "D: Articles 2019 File 1.txt" FileNumber = FreeFile Open Path For Output As FileNumber Close FileNumber Path = "D: Articles 2019 File 2 .txt "FileNumber = FreeFile Åpne bane for utdata som FileNumber Lukk FileNumber End Sub

Nå skal jeg igjen utføre koden linje for linje ved å trykke på F8-tasten.

Det står 1 som vanlig.

Nå vil jeg gå videre til neste nivå.

Selv i det andre forsøket står det 1.

Årsaken til dette er siden vi har brukt Close file statement, FreeFile gjenkjenner den nylig åpnede filen som den nye og returnerer heltallet som 1.

Interessante artikler...