Come creare e scrivere su un file di testo utilizzando vba?

Per creare testo utilizzando codice VBA, è necessario utilizzare il metodo CreateTextFile. Questo metodo ti consente di impostare una posizione in cui desideri crearlo. Questo metodo ha una sintassi in cui è possibile specificare se si desidera sovrascrivere il file nella posizione e specificare se il file viene creato come file Unicode o ASCII.

Crea un file di testo con VBA

Utilizzare i seguenti passaggi:

  1. Innanzitutto è necessario utilizzare un oggetto FileSystemObject o Folder da utilizzare con il metodo.
    create-a-text-fie-using-vba
  2. Successivamente, devi creare un altro oggetto utilizzando il metodo CreateTextFile.
    create-text-file-method
  3. In questo codice abbiamo utilizzato TRUE per sovrascrivere se nella cartella è già presente un file con lo stesso nome.
  4. Alla fine, quando esegui questa macro, crea un nuovo file di testo nella cartella come segue.
 Sub create_text_file() 'object to use as folder Dim fld As Object Set fld = CreateObject("Scripting.FileSystemObject") 'using create text file method Dim myFile As Object Set myFile = fld.CreateTextFile("C:UsersDellDesktopmyFoldermyTextFile.txt", True) End Sub

Sintassi del metodo CreateTextFile

 CreateTextFile (filename, [ overwrite, [ unicode ]])
  • nomefile: percorso e nome del file che desideri creare.
  • overwrite: booleano per definire se si vuole sovrascrivere il file (se già esiste) (opzionale).
  • unicode: booleano per definire se il file viene creato come file Unicode o ASCII (opzionale).

Scrivere in un file di testo utilizzando VBA

È possibile utilizzare due istruzioni per scrivere dati in un file di testo:

  1. Scrivi: con questa istruzione puoi scrivere dati in un file di testo in cui avrai virgole tra i valori, virgolette attorno alle stringhe e segni # attorno alle date.
    write-statement
  2. Stampa: con questa istruzione puoi scrivere i dati in un file di testo con l’esatto aspetto che hai nel foglio di calcolo Excel.
    print-statement

Ora esamineremo gli esempi per entrambe le istruzioni e capiremo come scrivere il codice completo da scrivere in un file di testo. Ma prima, devi comprendere alcune terminologie per scrivere il codice nel modo desiderato.

  • Per l’output: è possibile utilizzare questo comando quando si desidera scrivere dati o modificare dati in un file di testo.
  • Per input: con questo comando potrai estrarre dati da un testo, ma non potrai modificare e aggiungere dati al file.
  • Per aggiungere: questo comando ti aiuta ad aggiungere nuovi dati nella parte inferiore del file di testo.
  • FreeFile: puoi usarlo per impostare un numero di file che non viene utilizzato per il file di testo che desideri utilizzare in modo da potervi fare riferimento.

Ora scriviamo un codice per inserire i dati in un file di testo.

  1. Innanzitutto è necessario dichiarare le variabili da utilizzare nel codice.
    declare-variables
  2. Successivamente, devi definire l’intervallo che devi scrivere nel file di testo. E usa il numero di celle nell’intervallo come contatore per il ciclo impostandolo su una variabile.
    define-the-range
  3. Successivamente, è necessario impostare l’indirizzo del file di testo in cui si desidera aggiungere i dati.
    define-the-address-of-the-text-file
  4. Da lì, devi dichiarare il comando “FreeFile” su una variabile per ottenere il numero del file.
    freefile-command
  5. Ora devi creare utilizzando il comando “Output” perché devi aggiungere dati al file.
    output-command
  6. Infine, è necessario utilizzare il ciclo “For Next” per ottenere i valori dell’intervallo uno per uno e aggiungerli al file.
    for-next-loop-to-get-values
  7. Inoltre, è necessario utilizzare il comando chiudi per chiudere il file di testo dopo che i dati vi sono stati aggiunti.
    close-command
  8. Alla fine, quando esegui questa macro, aggiunge i dati dall’intervallo A1: A13 al file di testo che hai salvato nel percorso che hai menzionato.
    run-the-macro

Nota: assicurati di modificare il percorso del file di testo dal codice in base al percorso che hai nel tuo sistema.

 Option Explicit Sub data_to_text_file() 'variables that you need to use in the code Dim TextFile As Integer Dim iCol As Integer Dim myRange As Range Dim cVal As Range Dim i As Integer Dim myFile As String 'define the range that you want to write Set myRange = Range("A1:A13") iCol = myRange.Count 'path to the text file (MAKE SURE TO CHANGE IT) myFile = "C:UsersDellDesktopNewFoldertextfile.txt" 'define FreeFile to the variable file number TextFile = FreeFile 'using append command to add text to the end of the file Open myFile For Output As TextFile 'loop to add data to the text file For i = 1 To iCol Print #TextFile, Cells(i, 1), Print #TextFile, Cells(i, 2) Next i 'close command to close the text file after adding data Close #TextFile End Sub

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *