VBA FreeFile - Cum se folosește funcția FreeFile în Excel VBA?

Excel VBA FreeFile

FreeFile este o funcție în VBA care este disponibilă doar ca funcție VBA, nu ca funcție de foaie de lucru. Funcția VBA FreeFile returnează numărul întreg unic în fișier, care este deschis și păstrează următorul număr de fișier disponibil.

De obicei, deschidem fișiere de pe computerul nostru fie pentru a scrie ceva, fie pentru a citi numai, în timp ce ne referim la acele fișiere, trebuie să ne referim cu un număr întreg unic. Funcția VBA FreeFile ne permite să determinăm acel număr întreg unic de atribuit deschiderii fișierului pentru a citi, scrie și deschide fișiere folosind VBA.

Acum aruncați o privire la sintaxa declarației OPEN.

OPEN (File Path Address) Pentru (Mode to Open) Ca (File Number)

Adresă cale fișier: trebuie să menționăm adresa fișierului pe computerul pe care încercăm să îl deschidem.

Mod de deschidere: în timpul deschiderii fișierului, trebuie să știm ce tip de model urmează să aplicăm. Aici putem folosi trei moduri, „Mod de intrare”, „Mod de ieșire” și „Mod de adăugare”.

Mod de intrare pentru a citi numai fișierul.

Mod de ieșire pentru a șterge datele existente și a insera date noi.

Mod adăugați pentru a adăuga date noi, păstrând în același timp datele existente.

Număr fișier: Cu acest argument, ne putem referi la fișierul pe care îl deschidem - funcția „FreeFile” joacă un rol vital și returnează numărul întreg unic.

Cum se folosește funcția FreeFile în Excel VBA?

Acum, uitați-vă la codul de mai jos.

Cod:

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 Open Path For Output As FileNumber End Sub

Acum permiteți-mi să decodez codul de mai sus pentru a înțelege.

În primul rând, am declarat două variabile.

Dim Path as String, Dim FileNumber As Integer

Apoi am atribuit calea fișierului cu numele său.

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

Apoi, pentru cea mai variabilă, am atribuit funcția FREEFILE.

FileNumber = FreeFile

Apoi am folosit declarația Open pentru a deschide fișierul text în fișierul menționat mai sus cale.

Deschideți calea pentru ieșire ca număr de fișier

Bine, acum voi rula cod cu rând apăsând tasta F8 și voi vedea valoarea variabilei „FileNumber”.

Se afișează numărul fișierului ca 1. Deci, funcția de fișier gratuit rezervă automat acest număr fișierului de deschidere. În timpul rulării, nu sunt deschise alte fișiere.

Acum voi continua să execut următoarea linie de cod VBA și voi vedea care este numărul fișierului dacă trec la următoarea linie.

Acum scrie 2. Funcția FreeFile rezervă numărul întreg unic 2 la al doilea fișier de deschidere.

Funcția FreeFile returnează întotdeauna 1 dacă închidem fișierul Excel.

Un lucru la care trebuie să ne uităm este că funcția VBA „FreeFile” returnează întotdeauna una dacă închidem fișierul deschis înainte de a deschide al doilea fișier excel.

De exemplu, uitați-vă la codul de mai jos.

Cod:

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 Open Path Pentru ieșire ca FileNumber Închidere FileNumber End Sub

Acum voi executa încă o dată codul rând cu rând apăsând tasta F8.

Se spune 1 ca de obicei.

Acum voi trece la nivelul următor.

Chiar și în a doua încercare de a spune 1.

Motivul pentru aceasta este că am folosit instrucțiunea Close file, FreeFile recunoaște fișierul nou deschis ca fiind cel nou și returnează numărul întreg ca 1.

Articole interesante...