Visual Basic for Applications:
Scrivere un file di testo

Come fare:

VBA offre diversi metodi per scrivere in un file, ma uno dei modi più semplici è utilizzare FileSystemObject. Ecco una guida passo dopo passo per creare un semplice file di testo e scrivere dati in esso:

  1. Referenzia Microsoft Scripting Runtime: Prima di tutto, assicurati che il tuo editor VBA abbia accesso a FileSystemObject. Vai su Strumenti > Riferimenti nell’editor VBA e seleziona “Microsoft Scripting Runtime.”

  2. Crea un File di Testo: Il seguente frammento di codice VBA dimostra come creare un file di testo e scrivervi una riga di testo.

Sub WriteToFile()
    Dim fso As FileSystemObject
    Set fso = New FileSystemObject
    
    Dim textFile As Object
    ' Parametri CreateTextFile: (NomeFile, Sovrascrivi, Unicode)
    Set textFile = fso.CreateTextFile("C:\tuopath\esempio.txt", True, False)
    
    ' Scrivi una riga di testo
    textFile.WriteLine "Ciao, VBA!"
    
    ' Chiudi il file
    textFile.Close
End Sub

Questo script crea (o sovrascrive se già esistente) un file denominato esempio.txt nella directory specificata e vi scrive “Ciao, VBA!” prima di chiudere il file per salvare le modifiche.

  1. Output di Esempio:

Dopo aver eseguito lo script VBA sopra indicato, troverai un file denominato esempio.txt con il seguente contenuto:

Ciao, VBA!

Approfondimento:

Il FileSystemObject (FSO), parte della libreria Microsoft Scripting Runtime, offre un ricco insieme di proprietà e metodi per le operazioni sui file, estendendosi oltre ciò che le tradizionali gestioni di file VBA offrono (ad esempio, Open, Print #, Write #). Oltre alla gestione dei file, FSO può anche manipolare cartelle e unità, rendendolo uno strumento potente per le operazioni sul file system all’interno di VBA.

È importante notare, tuttavia, che sebbene FSO presenti un approccio più moderno alle operazioni sui file in VBA, può introdurre un overhead per compiti semplici rispetto alle dichiarazioni di gestione dei file native di VBA. Inoltre, poiché FSO fa parte di una libreria esterna, la portabilità e la compatibilità con altri sistemi (ad esempio, versioni precedenti di Office, Mac Office) potrebbero essere preoccupazioni.

In contesti in cui la performance, la compatibilità o la minimizzazione delle dipendenze esterne sono critiche, i programmatori potrebbero considerare l’utilizzo delle tecniche di gestione dei file integrate in VBA. Tuttavia, per operazioni più complesse o quando si lavora in un ambiente in cui queste preoccupazioni sono mitigate (come in un contesto aziendale controllato), i vantaggi del FileSystemObject spesso superano i suoi svantaggi.