Fitxer de text d'escriptura VBA | Escriviu dades d'Excel a fitxers de text mitjançant el codi VBA

Fitxer de text d'Escriptura VBA

A VBA podem obrir, llegir o escriure un fitxer de text, escriure un fitxer de text significa les dades que tenim en un full Excel i volem que siguin un fitxer de text o un fitxer de bloc de notes, hi ha dos mètodes a fer, un és per utilitzar la propietat de l’objecte del sistema de fitxers de VBA i un altre és fer servir el mètode Open and write a VBA.

A la majoria de les empreses corporatives, un cop finalitzat l'informe, busquen penjar l'informe a la base de dades. Per carregar a la base de dades, utilitzen el format "Fitxers de text" per actualitzar la base de dades. Normalment, copiem les dades d’Excel i les enganxem a un fitxer de text. La raó per la qual ens basem en fitxers de text perquè són molt fàcils de treballar a causa de les seves formes més lleugeres i senzilles. Mitjançant l’ús de codificació VBA podem automatitzar la tasca de copiar dades d’un fitxer Excel a un fitxer de text. En aquest article, us mostrarem com copiar o escriure dades des d’un fitxer Excel a un fitxer de text mitjançant el codi VBA.

Com escriure dades a fitxers de text mitjançant VBA?

L’escriptura de dades des d’Excel a text és una codificació complexa i requereix molt bon coneixement de la codificació VBA. Seguiu els passos següents per escriure el codi VBA per copiar dades d’Excel a un fitxer de text.

Abans de mostrar-vos la manera d’escriure el codi, deixeu-me explicar com obrir el fitxer de text mitjançant una declaració oberta.

Sintaxi del fitxer de text obert

Obriu [Camí del fitxer], per a [Mode], com a [Número de fitxer]

Camí del fitxer: El camí del fitxer que intentem obrir a l'ordinador.

Mode: El mode és el control que podem tenir sobre l'obertura de fitxers de text. Podem tenir tres tipus de control sobre el fitxer de text.

  • Mode d'entrada: Això suggereix "Llegeix només”Control del fitxer de text d'obertura. Si fem servir el "Mode d'entrada", no podem fer res amb el fitxer. Només podem llegir el contingut del fitxer de text.
  • Mode de sortida: Mitjançant aquesta opció podem escriure-hi el contingut. El punt que hem de recordar aquí és que se sobreescriuran totes les dades existents. Per tant, hem de desconfiar de la possible pèrdua de dades antigues.
  • Mode d'afegir: Aquest mode és completament el contrari del Mode OutPut. Mitjançant aquest mètode podem escriure les dades noves al final de les dades existents al fitxer.

Número d'arxiu: Això comptarà el nombre de fitxers de text de tots els fitxers de text oberts. Això reconeixerà els números de fitxer oberts en valors enters de l'1 al 511. Assignar el número de fitxer és complicat i provoca molta confusió. Per a això, podem utilitzar la funció de fitxer lliure.

Arxiu gratuït retorna el número únic dels fitxers oberts. D’aquesta manera podem assignar el número de fitxer únic sense cap tipus de valor duplicat.

Podeu descarregar aquesta plantilla de fitxer de text d'escriptura VBA aquí: plantilla de fitxer de text d'escriptura VBA

Exemple 1

Seguiu els passos següents per escriure el codi per crear un fitxer de text nou.

Suposem que ja teniu un fitxer de text anomenat "Hello.txt" a l'emmagatzematge de l'ordinador i us mostrarem com escriure-hi les dades.

Pas 1: declaració de variable

Declareu que la variable manté el camí del fitxer com a Cadena.

Codi:

 Fitxer de text_exemple1 () Atenua el camí com a final de cadena Sub 

Pas 2: determinar el número de fitxer

Per determinar a quin número de fitxer ens referim per declarar una variable més com a enter.

Codi:

 Fitxer_exemple_exemple1 () Atenua el camí com a cadena Atenua el número de fitxer Com a final enter Sub 

Pas 3: assigneu el camí del fitxer

Ara, per a la variable Path assigneu el camí del fitxer amb un nom de fitxer.

Codi:

 Sub TextFile_Example1 () Atenua el camí com a cadena Enumereix el número de fitxer Com a camí enter = "D: \ Fitxers Excel \ Fitxer VBA \ Hello.txt" 'Canvia el camí segons el teu requisit 

Pas 4: assigneu la funció de fitxer gratuït

Ara, per a la variable Número de fitxer, assigneu la funció "Fitxer gratuït" per emmagatzemar un número de fitxer únic.

Codi:

 Sub TextFile_Example1 () Atenua el camí com a cadena Enumereix el número de fitxer Com a camí enter = "D: \ Excel Files \ VBA File \ Hello.txt" 'Canvia el camí segons el teu requisit FileNumber = FreeFile End Sub 

Pas 5: obriu el fitxer de text

Ara hem d'obrir el fitxer de text per treballar-hi. Com he explicat, hem d’utilitzar la sentència OPEN per obrir el fitxer de text.

Pas 6: utilitzeu el mètode d’impressió / escriptura

Un cop obert el fitxer, cal que hi escrivim alguna cosa. Per escriure al fitxer de text, hem d’utilitzar el mètode “Write” o “Print”.

Codi:

 Sub TextFile_Example1 () Atenua el camí com a cadena Enumereix el número de fitxer Com a camí enter = "D: \ Excel Files \ VBA File \ Hello.txt" 'Canvia el camí segons el teu requisit FileNumber = FreeFile Open Path per a la sortida com a FileNumber Imprimeix #FileNumber, " Benvingut a "Imprimir #FileNumber" a "Imprimir #FileNumber", "VBA" End Sub 

En primer lloc, hem d’esmentar el número de fitxer (aquí hem assignat el fitxer mitjançant la variable “FileNumber”) i, a continuació, hem d’afegir el contingut que volem afegir a un fitxer de text.

Pas 7: deseu i tanqueu el fitxer de text

Un cop escrit el contingut en un fitxer de text, hem de desar i tancar el fitxer de text.

Codi:

 Sub TextFile_Example1 () Atenua el camí com a cadena Enumereix el número de fitxer Com a camí enter = "D: \ Excel Files \ VBA File \ Hello.txt" 'Canvia el camí segons el teu requisit FileNumber = FreeFile Obre el camí per a la sortida com a FileNumber Imprimeix #FileNumber, " Benvingut a "Imprimir #FileNumber" a "Imprimir #FileNumber", "VBA" Tancar FileNumber End Sub 

Ara, executeu el codi manualment o mitjançant la tecla de drecera Excel F5, escriurà el contingut esmentat al fitxer de text esmentat.

Exemple 2

Ara veurem com escriure les dades del full Excel en un fitxer de text.

Per a aquest exemple, he creat dades senzilles en excel com es mostra a continuació.

Pas 1: Amb la continuació de l'antic exemple, definiu dues variables més com a enter per trobar l'última fila i l'última columna.

Codi:

 Sub TextFile_Example2 () Atenuació del camí com a cadena Atenuació del número de fitxer Com a enter Sota LR Com a enter Sombra LC Com a Enter final Sub 

Pas 2: Cerqueu l'última fila i columna utilitzades al full de treball.

Pas 3: Ara assigneu el camí i el número de fitxer.

Pas 4: Ara utilitzeu la declaració OPEN per obrir el fitxer de text.

Pas 5: Hem de fer un bucle entre files i columnes, de manera que declarem dues variables més com a enter.

Pas 6: Ara obriu Bucle per fer un bucle a través de la fila (per al següent bucle de VBA)

Pas 7: Ara per fer un bucle a través de columnes obriu un bucle més dins del bucle existent.

Pas 8: Hem d’escriure la mateixa línia de dades fins que arribi a l’última columna. Per això, apliqueu la declaració IF a VBA.

Pas 9: Ara deseu i tanqueu el fitxer de text.

Aquest codi escriurà els detalls en un fitxer de text, però per obrir-lo després d’haver-lo escrit, hem d’utilitzar el codi següent.

Codi:

 Sub TextFile_Example2 () Atenuació del camí com a cadena Atenuació del número de fitxer Com a enter Enredonat LR Com a enter Enter Dim Com Integer Dim k As Integer Dim i As Integer LR = Fulls de treball ("Text"). Cel·les (Rows.Count, 1). Fin (xlUp) .Row LC = Fulls de treball ("Text"). Cel·les (1, Columns.Count). Final (xlToLeft) .Column Path = "D: \ Excel Files \ VBA File \ Hello.txt" FileNumber = FreeFile Open Path for Output As Número de fitxer Per a k = 1 A LR Per a i = 1 A LC Si i LC Imprimir # Nombre de fitxer, cel·les (i, k), en cas contrari Imprimir # Número de fitxer, cel·les (i, k) Finalitzar Si següent i Següent k Tancar el bloc de notes Shell "Nombre de fitxer .exe "& Path, vbNormalFocus End Sub 

Per tant, executeu el codi amb la tecla F5 o manualment i copiarà les dades com es mostra a continuació.