VBA Scrivi file di testo - Scrivi dati Excel su file di testo utilizzando il codice VBA

Excel VBA Scrivi file di testo

In VBA possiamo aprire o leggere o scrivere un file di testo, scrivere un file di testo significa che i dati che abbiamo in un foglio Excel e lo vogliamo in un file di testo o in un file di blocco note, ci sono due metodi da fare, uno è da utilizzando la proprietà dell'oggetto File System di VBA e un altro è utilizzando il metodo Apri e scrivi in ​​VBA.

Nella maggior parte delle società aziendali, una volta finalizzato il report, cercano di caricare il report nel database. Per caricare nel database, utilizzano il formato "File di testo" per aggiornare il database. Di solito copiamo i dati da Excel e li incolliamo in un file di testo. Il motivo per cui ci affidiamo ai file di testo perché sono molto facili da lavorare grazie ai loro modi leggeri e più semplici. Utilizzando la codifica VBA, possiamo automatizzare l'attività di copia dei dati dal file Excel al file di testo. In questo articolo, ti mostreremo come copiare o scrivere dati da un file Excel a un file di testo utilizzando il codice VBA.

Come scrivere dati su file di testo usando VBA?

La scrittura di dati da Excel a testo è una codifica complessa e richiede un'ottima conoscenza della codifica VBA. Segui i passaggi seguenti per scrivere il codice VBA per copiare i dati da Excel a un file di testo.

Prima di mostrarti come scrivere il codice, lascia che ti spieghi come aprire il file di testo utilizzando un'istruzione open.

Sintassi di Open Text File

Apri (Percorso file), Per (Modalità), Come (Numero file)

File Path: il percorso del file che stiamo tentando di aprire sul computer.

Modalità: Modalità è il controllo che possiamo avere sull'apertura dei file di testo. Possiamo avere tre tipi di controllo sul file di testo.

  • Modalità di input: suggerisce il controllo di " sola lettura " del file di testo di apertura. Se usiamo "Input Mode", non possiamo fare nulla con il file. Possiamo solo leggere il contenuto del file di testo.
  • Modalità di output: utilizzando questa opzione, possiamo scrivere il contenuto su di essa. Il punto che dobbiamo ricordare qui è che tutti i dati esistenti verranno sovrascritti. Quindi, dobbiamo diffidare della possibile perdita di vecchi dati.
  • Modalità Append: questa modalità è completamente l'opposto della modalità OutPut. Utilizzando questo metodo, possiamo effettivamente scrivere i nuovi dati alla fine dei dati esistenti nel file.

Numero file: conterà il numero del file di testo di tutti i file di testo aperti. Questo riconoscerà i numeri di file aperti in valori interi da 1 a 511. Assegnare il numero di file è complicato e porta a molta confusione. Per questo, possiamo usare la funzione File gratuita.

File gratuito restituisce il numero univoco per i file aperti. In questo modo, possiamo assegnare il numero di file univoco senza alcun tipo di valori duplicati.

Esempio 1

Seguire i passaggi seguenti per scrivere il codice per creare un nuovo file di testo.

Supponi di avere già un file di testo chiamato "Hello.txt" nella memoria del tuo computer e ti mostreremo come scrivere i dati in esso.

Passaggio 1: dichiara la variabile

Dichiarare che la variabile contenga il percorso del file come String.

Codice:

Sub TextFile_Example1 () Dim Path As String End Sub
Passaggio 2: determinare il numero di file

Per determinare a quale numero di file ci riferiamo, dichiarare un'altra variabile come Integer.

Codice:

Sub TextFile_Example1 () Dim Path As String Dim FileNumber As Integer End Sub
Passaggio 3: assegnare il percorso del file

Ora per la variabile Path, assegna il percorso del file con un nome file.

Codice:

Sub TextFile_Example1 () Dim Path As String Dim FileNumber As Integer Path = "D: Excel Files VBA File Hello.txt" 'Cambia il percorso in base alle tue esigenze End Sub
Passaggio 4: assegnare la funzione file gratuita

Ora per la variabile Numero file, assegnare la funzione "File libero" per memorizzare numeri di file univoci.

Codice:

Sub TextFile_Example1 () Dim Path As String Dim FileNumber As Integer Path = "D: Excel Files VBA File Hello.txt" 'Cambia il percorso secondo i tuoi requisiti FileNumber = FreeFile End Sub
Passaggio 5: Apri file di testo

Ora dobbiamo aprire il file di testo per lavorarci. Come ho spiegato, dobbiamo usare l'istruzione OPEN per aprire il file di testo.


Passaggio 6: utilizzare il metodo di stampa / scrittura

Una volta aperto il file, dobbiamo scrivere qualcosa al suo interno. Per scrivere nel file di testo è necessario utilizzare il metodo "Scrivi" o "Stampa".

Codice:

Sub TextFile_Example1 () Dim Path As String Dim FileNumber As Integer Path = "D: Excel Files VBA File Hello.txt" 'Cambia il percorso secondo le tue esigenze FileNumber = FreeFile Apri percorso per output come FileNumber Print #FileNumber, " Benvenuto "Print #FileNumber", "Print #FileNumber," VBA "End Sub

Innanzitutto, dobbiamo menzionare il numero del file (qui abbiamo assegnato il file tramite la variabile "filenumber"), quindi dobbiamo aggiungere il contenuto che vogliamo aggiungere a un file di testo.

Passaggio 7: salvare e chiudere il file di testo

Una volta che il contenuto è stato scritto in un file di testo, dobbiamo salvare e chiudere il file di testo.

Codice:

Sub TextFile_Example1 () Dim Path As String Dim FileNumber As Integer Path = "D: Excel Files VBA File Hello.txt" 'Cambia il percorso secondo le tue esigenze FileNumber = FreeFile Apri percorso per output come FileNumber Print #FileNumber, " Benvenuto "Print #FileNumber", "Print #FileNumber," VBA "Chiudi FileNumber End Sub

Ora, esegui il codice manualmente o tramite il tasto di scelta rapida Excel F5. Scriverà il contenuto menzionato nel file di testo menzionato.

Esempio n. 2

Ora vedremo come scrivere i dati del foglio Excel in un file di testo.

Per questo esempio, ho creato dati semplici in Excel come di seguito.

Passaggio 1: con la continuazione del vecchio esempio, definire altre due variabili come Integer per trovare l'ultima riga e l'ultima colonna.

Codice:

Sub TextFile_Example2 () Dim Path As String Dim FileNumber As Integer Dim LR As Integer Dim LC As Integer End Sub

Passaggio 2: trova l'ultima riga e colonna utilizzate nel foglio di lavoro.

Passaggio 3: ora assegna il percorso e il numero del file.

Passaggio 4: ora, utilizza l'istruzione OPEN per aprire il file di testo.

Passaggio 5: è necessario scorrere righe e colonne, quindi dichiara altre due variabili come Intero.

Passaggio 6: ora apri Loop per scorrere la riga (per il ciclo successivo in VBA)

Passaggio 7: ora, per scorrere le colonne, apri un altro loop all'interno del loop esistente.

Passaggio 8: è necessario scrivere la stessa riga di dati fino a raggiungere l'ultima colonna. Quindi, per questo, applica l'istruzione IF in VBA.

Step 9: Now, save and close the text file.

This code will write the details to a text file, but to open the text file after written, we need to use the below code.

Code:

Sub TextFile_Example2() Dim Path As String Dim FileNumber As Integer Dim LR As Integer Dim LC As Integer Dim k As Integer Dim i As Integer LR = Worksheets("Text").Cells(Rows.Count, 1).End(xlUp).Row LC = Worksheets("Text").Cells(1, Columns.Count).End(xlToLeft).Column Path = "D:Excel FilesVBA FileHello.txt" FileNumber = FreeFile Open Path For Output As FileNumber For k = 1 To LR For i = 1 To LC If i LC Then Print #FileNumber, Cells(i, k), Else Print #FileNumber, Cells(i, k) End If Next i Next k Close FileNumber Shell "notepad.exe " & Path, vbNormalFocus End Sub

Quindi, esegui il codice usando il tasto F5 o manualmente. Quindi, copierà i dati di seguito.

Articoli interessanti...