Visual Basic for Applications:
Leggere un file di testo

Come fare:

Il modo più semplice per leggere un file di testo in VBA è utilizzare l’istruzione Open in combinazione con le funzioni Input o Line Input. Ecco come puoi farlo:

  1. Aprire il file per la lettura - Prima di tutto, devi aprire il file. Assicurati che il percorso del file sia accessibile all’applicazione.
Open "C:\example.txt" For Input As #1
  1. Leggere il contenuto del file - Puoi leggere linea per linea usando Line Input o l’intero file usando Input.
  • Lettura linea per linea:
Dim fileContent As String
While Not EOF(1) ' EOF = End Of File
    Line Input #1, fileContent
    Debug.Print fileContent ' Stampa la linea nella Finestra Immediata
Wend
Close #1
  • Lettura dell’intero file in una volta:
Dim fileContent As String
Dim fileSize As Long
fileSize = LOF(1) ' LOF = Lunghezza Del File
If fileSize > 0 Then
    fileContent = Input(fileSize, #1)
    Debug.Print fileContent
End If
Close #1
  1. Esempio di output:

Assumendo che example.txt contenga:

Ciao,
Questo è un file di testo di esempio.
Buona lettura!

L’output nella Finestra Immediata sarebbe l’intero testo o linea per linea a seconda del metodo scelto.

Approfondimento

Leggere file di testo in VBA è stato un pilastro dei compiti di automazione d’ufficio per decenni. I metodi illustrati, sebbene efficienti all’interno dell’ecosistema VBA, possono sembrare arcaici rispetto alle pratiche di programmazione moderne che spesso impiegano astrazioni di livello superiore o librerie per operazioni sui file. Ad esempio, Python utilizza la funzione open() all’interno di un’istruzione with, offrendo una sintassi più pulita e capacità di gestione automatica dei file.

Detto questo, quando si lavora all’interno dei confini dell’ambiente Microsoft Office, VBA fornisce un metodo diretto e nativo per manipolare i file, che può essere cruciale per le applicazioni che richiedono interoperabilità con i prodotti Office. La semplicità di apertura, lettura ed elaborazione del contenuto di un file di testo, linea per linea o nella sua interezza, senza la necessità di librerie esterne o configurazioni complesse, rende VBA uno strumento prezioso nella cassetta degli attrezzi dello sviluppatore Office.

Sebbene esistano alternative migliori nei linguaggi di programmazione moderni per gestire i file in modo più efficiente e con meno codice, comprendere e utilizzare le capacità di VBA per leggere file di testo può aumentare significativamente la produttività e estendere la funzionalità delle applicazioni basate su Office.