VBA FreeFile - Come utilizzare la funzione FreeFile in Excel VBA?

Excel VBA FreeFile

FreeFile è una funzione in VBA disponibile solo come funzione VBA, non come funzione del foglio di lavoro. La funzione VBA FreeFile restituisce il numero intero univoco al file, che viene aperto e conserva il successivo numero di file disponibile.

Di solito apriamo file dal nostro computer per scrivere qualcosa o in sola lettura, mentre ci riferiamo a quei file, dobbiamo fare riferimento con un numero intero univoco. La funzione VBA FreeFile ci consente di determinare quel numero intero univoco da assegnare all'apertura del file per leggere, scrivere e aprire i file utilizzando VBA.

Ora dai un'occhiata alla sintassi dell'istruzione OPEN.

OPEN (indirizzo percorso file) per (modalità di apertura) come (numero file)

Indirizzo del percorso del file: dobbiamo menzionare l'indirizzo del file sul nostro computer che stiamo cercando di aprire.

Modalità di apertura: durante l'apertura del file, dobbiamo sapere quale tipo di modello applicheremo. Possiamo utilizzare tre modi qui, "Input Mode", "OutPut Mode" e "Append Mode".

Modalità di input per leggere solo il file.

Modalità di output per cancellare i dati esistenti e inserire nuovi dati.

Modalità Aggiungi per aggiungere nuovi dati conservando i dati esistenti.

Numero file: con questo argomento possiamo fare riferimento al file che stiamo aprendo, in cui la funzione "FreeFile" gioca un ruolo fondamentale e restituisce il numero intero univoco.

Come utilizzare la funzione FreeFile in Excel VBA?

Ora guarda il codice sottostante.

Codice:

Sub FreeFile_Example1 () Dim Path As String Dim FileNumber As Integer Path = "D: Articles 2019 File 1.txt" FileNumber = FreeFile Apri percorso per output come FileNumber Path = "D: Articles 2019 File 2.txt "FileNumber = FreeFile Open Path per l'output come FileNumber End Sub

Ora lasciami decodificare il codice sopra per farti capire.

Innanzitutto, ho dichiarato due variabili.

Dim Path As String, Dim FileNumber As Integer

Quindi ho assegnato il percorso del file con il suo nome.

Percorso = "D: Articoli 2019 File 1.txt"

Quindi per un'altra variabile, ho assegnato la funzione FREEFILE.

FileNumber = FreeFile

Quindi ho usato l'istruzione Open per aprire il file di testo nel file menzionato sopra percorso.

Apri percorso per output come FileNumber

Ok, ora eseguirò il codice riga per riga premendo il tasto F8 e vedrò il valore della variabile "FileNumber".

Mostra il numero di file come 1. Quindi, la funzione file gratuito riserva automaticamente questo numero al file di apertura. Durante l'esecuzione, non vengono aperti altri file.

Ora continuerò a eseguire la riga successiva del codice VBA e vedrò qual è il numero di file se salto alla riga successiva.

Ora dice 2. Quindi la funzione FreeFile riserva il numero intero univoco 2 al secondo file di apertura.

Funzione FreeFile Restituisce sempre 1 se chiudiamo il file Excel.

Una cosa che dobbiamo guardare è che la funzione VBA "FreeFile" restituisce sempre uno se chiudiamo il file aperto prima di aprire il secondo file excel.

Ad esempio, guarda il codice seguente.

Codice:

Sub FreeFile_Example2 () Dim Path As String Dim FileNumber As Integer Path = "D: Articles 2019 File 1.txt" FileNumber = FreeFile Apri percorso per output come FileNumber Close FileNumber Path = "D: Articles 2019 File 2 .txt "FileNumber = FreeFile Apri percorso per output come FileNumber Chiudi FileNumber End Sub

Ora eseguirò di nuovo il codice riga per riga premendo il tasto F8.

Dice 1 come al solito.

Ora passerò al livello successivo.

Anche nel secondo tentativo si dice 1.

Il motivo è che abbiamo utilizzato l'istruzione Close file, FreeFile riconosce il file appena aperto come nuovo e restituisce il numero intero come 1.

Articoli interessanti...